AS3系列教程:[9]判断 (Part4)
1、一、逻辑“与”&&
&&的性质是:只有当&&左右两侧的条件表达式的返回值都为true的时候,整个条件表达式的返回值才为true,只要&&左右两侧有任意一个的返回值为false,整个条件表达式的返回值就是false
如下例:
var num:uint=50
if(num>0&&num<100){
trace("num既大于0又小于100")
}
由于num同时满足两个条件,故而这个条件表达式的返回值为true,因此会输出num既大于0又小于100
&&可以有多个,如下例:
var num:uint=50
if(num%2==0&&num>0&&num<100){
trace("num可以被2整除,且num的值在0和100之间")
}
只有每一个&&左右两侧的表达式的返回值都为true的时候,整个表达式的返回值才为true;任意一个表达式的返回值为false的话,整个表达式的返回值就是false。因此,为了节约系统开销,我们总是将最有可能为false的表达式写在最前面,AS3编译的时候,一旦遇到false,后面的表达式不再理会,直接返回false
2、二、逻辑“或”||
||的性质是:只要||左右两侧的任何一个表达式的返回值为true,这个条件表达式的返回值就是true
如下例:
var num:uint=50
if(num%2==0||num%7==0){
trace("num可以被2或7整除")
}
由于num%2==0的返回值是true,所以,||的返回值就是true
3、三、逻辑“非”!
无论是逻辑“与” 还是逻辑“或”,其操作数都是两个。唯独逻辑“非”的操作数仅有一个。
逻辑“非”的作用也超简单,就是对其右侧的表达式的返回值取反
如下例:
var condition:Boolean=false
if(!condition){
trace("你好")
}
condition的初始值是false,被逻辑“非”取反之后,返回值就是true,故而会执行trace语句