逻辑与操作符由两个和号(&&)表示,可以应用于任何类型的操作数,而不仅仅是布尔值。
有两个操作数,在有一个操作数不是布尔值的情况下,逻辑与操作就不一定返回布尔值;此时,它遵循下列规则:
q 如果两个操作数都是字符串,第一个操作数为真时,则返加第二个操作数;
var string1 = 'abcde' var string2 = 'fghij' string1 && string2 // "fghij" |
q 如果第一个操作数是对象,则返回第二个操作数;
var o1 = {} var string2 = 'fghij' o1 && string2 // "fghij" |
q 如果第二个操作数是对象,则只有在第一个操作数的求值结果为 true 的情况下才会返回该对象;
q 如果两个操作数都是对象,则返回第二个操作数;
q 如果有一个操作数是 null,则返回 null;
q 如果有一个操作数是 NaN,则返回 NaN;
q 如果有一个操作数是 undefined,则返回 undefined。
逻辑与操作属于短路操作,即如果第一个操作数能够决定结果,那么就不会再对第二个操作数求值。
对于逻辑与操作而言,如果第一个操作数是 false,则无论第二个操作数是什么值,结果都不再可能是true 了。
不能在逻辑与操作中使用未定义的值,否则会报错。
在使用逻辑与操作符时要始终铭记它是一个短路操作符。
© admin for 可乐吧, 2015. |
Permalink |
No comment |
Add to
del.icio.us
Post tags: 逻辑与操作符
您可能也喜欢: |
利用node压缩合并js/css/图片 |
node.js之node-smushit图片压缩 |
基于Node.js的自动化构建工具Grunt.js |
使用Respond.js让旧版浏览器支持 CSS3 Media Query |
无觅 |
Feed enhanced by Better Feed from Ozh