看到的结果,在谷歌Chrome浏览器打开控制台,请执行下列操作:为什么在JavaScript中:obj = new Boolean(false),(obj && true)是true,(obj || false)是false?
obj = new Boolean(false)
"obj && true: " + (obj && true)
"obj || true: " + (obj || false)
和:
(obj && true) == true // this is true
(obj || false) == true // this is false
为什么
(obj || false)
的回报,而不是一个Boolean对象,布尔值?
(嗯..我也把内容摘要如下答案)
我敢打赌,在最后一行的 “假” 是指'obj'。试试'obj || 0' – 2013-05-14 08:11:47
我看到呈现给我的错误对象为布尔{}' – 2013-05-14 08:14:00
我没有得到你所报告的内容。特别是'(obj || false)'返回'Boolean {}'。它测试为一个真值:'!!(obj || false)'是'true'。请注意,'false'与'false'并不相同! – 2013-05-14 08:16:58