一般来讲&&运算和||运算得到的结果都是true和false,但是js中的有点不太一样。当进行a&&b和a||b(如1&&4,2||3)这样的运算时,会出现不一样的结果。
JS中的&&和||运算规律如下:
1.a&&b时,若a不成立,结果为a,若a成立,结果为b
2.a||b时,若a成立,结果为a,若a不成立,结果为b
例如:
3&&4 //结果为4
0&&2 //结果为0
2&&0 //结果为0
0&&1&&2 //结果为0
1&&0&&2 //结果为0
1||2 //结果为1
0||5 //结果为5
4||0 //结果为4
0||0 //结果为0
2&&"string" //结果为"string"
"string"||3 //结果为"string"
由此可以看出,js的&&运算符和||运算符的运算规律为,将得出逻辑运算结果的表达式结果作为运算结果,如a&&b,若a不成立,则a&&b不成立,虽然b仍会运算,但已经不影响结果了,所以运算结果为a。