JavaScript是不嚴格的類型語言如Java,例如。JavaScript的類型轉換:(真&& 1)VS(真| | 1)
正如我們所知,這對語境依賴性轉換結果的值:
"2" + "3"
導致"23"
"2" * "3"
結果6
這是理解相當明確和確定。
我只是嘗試以下表達式和糊塗了:
true && 1
結果1
true || 1
結果true
爲什麼第一次給數和第二給布爾?
考慮到JavaScript轉換規則,我預計在兩種情況下都會得到boolean
值,這是由於boolean
表達式的上下文。
感謝你的解釋 - 這是關於警衛和默認的有趣點 – sergionni 2011-12-19 10:42:07
不客氣。總而言之,我會建議閱讀道格拉斯的JavaScript頁面而不是規範。在我看來,這很容易理解。 http://javascript.crockford.com/ – 2011-12-19 10:48:24
很好的解釋!我希望我能給你+3。 – 2013-05-11 18:41:57