逻辑运算符
逻辑运算符用于测定变量或值之间的逻辑。
在逻辑运算中,0、""、null、undifined、false、NaN都表示false;
在逻辑运算中,一切非 0 值都为真,例如-4、6、3.14都为真;
给定 x=6 以及 y=3,下表解释了逻辑运算符:
运算符 描述 例子 && and (x < 10 && y > 1) 为 true || or (x==5 || y==5) 为 false ! not !(x==y) 为 true
“与”(&&)
1.“&&”两侧的结果都为真,整个的结果才为真;
2.其它情况全为假;
3.无论运算逻辑多么复杂,只要结果只有真和假;
4.如果关系运算有一个为假了,那么后面的关系运算不再继续,这种现象称为短路现象;
5.每个关系运算符会返回一个结果,例如3<4,6>2,结果为boolean(true or false);
var a1 = 3; var a2 = 4; a1 < a2 && a1++; //结果为真,最终结果a1=4,a2=4 var b1 = 3; var b2 = 4; b1 > b2 && b1++ ; //结果为假,最终结果b1=3,b2=4 var c1 = 3; var c2 = 4; var c3 = 1; c1<c2 && --c3 && c1++; //结果为假,最终结果为c1=3,c2=4,c3=0,'--c3'结果为0所以结果为假,后面的运算关系不再继续,此称为短路现象
“或”(||)
1.“||”两边的运算结果只要一个为真,整个结果就为真;
2.当前面的运算结果有一个为真时,后面的运算不再进行;
3.不管运算逻辑有多么复杂,最终的结果只有“true” 或 “false”;
4.逻辑运算“或”的最终结果为运算结果为真的表达式的结果;
var a = 100;
var b = 1;
var c = b || ++a; //最终结果c=1;
关于自加运算
1.自加 分为 a++ 和 ++a;
2.a++ 先赋值,后自加;
3.++a 先自加,后赋值;
var a = 100;
var b = 1;
var c = a++; //结果为 c=100
var d = ++a; //结果为 d=101
var b += 2; //结果为 b = 3;
练习题
var a = 10;
var b = (a++); //最终的结果为 b = 10;
非(!)
var a = 1; var b = !a; //输出结果为false,1 代表true,!true即false
var c = "";
var d = !c; //输出结果为true,""代表false,!false即true
var e = 0;
var f = 5;
var g = !(e || ++f); //输出结果为false, 0 代表false, ++f 代表true, !true 即false;