-1
A
回答
0
根据MDN:
expr1 && expr2
返回expr1
,如果它可以被转换为false
;否则,返回expr2
。因此,当与布尔值一起使用时,如果两个操作数都为真,则&&
返回true
;否则,返回false
。
因为1可以进行评估,以true
,1 && 2
返回2
。
1
& &(和运算符)只要链是“truthy”就返回最后一个(右侧)值。
,如果你想尝试0 & & 2 - >结果将是0(即 “falsy”)
0
根据此页:
AND返回第一个虚假值或最后一个值,如果没有找到。 或返回第一个真人。
对于同一语句中有多个运营商:
的优先级的AND & &运营商比OR ||高,所以它或之前执行。
alert(5 || 1 & & 0); // 5
+0
解释并给出了另一个链接。请检查 – coder87
相关问题
- 1. 为什么(1 + 1)和1返回1而不是2?
- 2. 为什么retainCount返回2
- 3. 为什么sys.getrefcount()返回2?
- 4. Common Lisp为什么(列表+ 1 2)评估为('(+ 1 2)1 2)
- 5. 为什么“1 | 2”== 1在PHP中返回true?
- 6. -2 <1 = false。为什么?
- 7. 为什么1的补-2
- 8. 为什么1 +++ 2 = 3?
- 9. 为什么是1 -2
- 10. 为什么这个数组返回1而不是2?
- 11. 为什么fetchColumn()在有2列时返回1?
- 12. 为什么strlen()每次都返回2或1?
- 13. 为什么sql server在1/2时返回0?
- 14. 为什么在将1除以2或4时返回0?
- 15. 为什么我的计算器在2^34 == 2^34 - 1时返回true?
- 16. android SQLiteDatabase.Update()返回2,为什么?
- 17. 为什么不2 == 4返回false?
- 18. 为什么.children.length只返回2?
- 19. 为什么不写(2)返回EINTR?
- 20. 为什么AudioRecord.getMinBufferSize返回ERROR_BAD_VALUE(-2)?
- 21. 为什么长度函数返回2?
- 22. 为什么1%2等于1?
- 23. 可以1返回调用2返回?
- 24. 为什么User.last(2)和User.first(2)返回相同的用户?
- 25. 为什么4.1%2使用Ruby返回0.0999999999999996但4.2%2 == 0.2
- 26. 为什么IndexOf返回-1?
- 27. 为什么ISNUMERIC('。')返回1?
- 28. 为什么UINT_MAX返回-1?
- 29. 为什么sqlitedatabase.insert返回-1?
- 30. 为什么[] .push([])返回1?
它被称为布尔快捷键。你可以用'||'做类似的事情。例如..'0 || 1 || 2“将返回1,其中'0 && 1 && 2'将返回0.这是因为在第一个示例中,当它遇到1时,满足OR条件,它不需要进一步短路在AND &&的情况下,第一个条件使得不可能如此短路1和2 .. – Keith