逻辑运算符中的特殊情况

逻辑运算符

AND &&

若两边有一个不是布尔值,与运算不一定返回布尔值,此时可遵循以下原则:

1.第一个操作数是对象,则返回第二个操作数。

2.第二个操作数是对象,且第一个操作数返回true,才返回第二个操作数,否则返回false。

3.有一个操作数是null,则返回false。

4.有一个操作数是undefined,则返回undefined。

5.如果第一个操作数返回false,第二个操作数不管true还是false,都返回false。

OR ||

若两边有一个不是布尔值,与运算不一定返回布尔值,此时可遵循以下原则:

1.第一个操作数是对象,则返回第一个操作数。

2.第一个的求值结果为false,则返回第二个操作数。

3.两个都是对象,返回第一个对象。

4.两个操作数都是null,则返回null。

5.两个操作数都是NaN,则返回NaN。

6.两个操作数都是undefined,则返回undefined。

NOT !

1.操作数是一个对象,则返回false。

2.操作数是一个空字符串,则返回true。

3.操作数是一个非空字符串,则返回false。

4.操作数是一个0,则返回true。

5.操作数是一个非0数值,则返回false。

6.操作数都是null,则返回true。

7.操作数都是NaN,则返回true。

6.操作数都是undefined,则返回true。

 

 

posted on 2015-09-10 16:12  why8876  阅读(121)  评论(0)    收藏  举报

导航