日期:2014-05-16 浏览次数:20340 次
alert( 0 && 1 ) alert( 0 || 1 )
------解决方案--------------------
var a = 1==1 && 2==2 && 3==3;
var b = 1==1 && 2!=2 && 3==3;
if(a){}
if(b){}
其实就是布尔运算嘛
------解决方案--------------------
参考资料:ECMAScript Boolean 运算符
------解决方案--------------------
&&和||没有强制返回值必须是boolean值
------解决方案--------------------
“a && b ,如果 a 为true,直接返回b,而不管b为true或者false 。”
知道这个原理就不难理解啦
var a = (1 && 2) && 3;
先判断1&&2,结果返回2,然后判断 2&&3,返回3咯
等号(==) 如果比较的两个元素类型不一样时要进行类型转换,规则如下: 1. 如果有一个是Boolean类型,一个是数字类型,则将Boolean类型转化成数字,false转化成0,true转成1 2. 如果有一个是字符串类型,一个是数字类型,则把字符串转化成数字 3. 如果有一个是字符串类型,一个是对象类型,则把对象转化成字符串(toString()) 4. 如果有一个是对象类型,一个是数字类型,则把对象转化成数字 5. null和undefined相等 6. 不能把null和undefined转化成其他值 7. 如果有一个为NaN,等号返回false,非等号返回true。即使两个都是NaN,等号任然返回false 8. 如果两个元素是对象,这比较的是他们的引用值。如果俩个运算数指向同一个对象,那么等号返回true,不相等