看到的結果,在谷歌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