我看到這個結構是爲了得到瀏覽器的視口寬度:爲什麼Javascript的OR返回的值不是true/false?
function() { return window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; }
我理解所涉及的瀏覽器怪癖。我不明白的是爲什麼||
返回值。所以我嘗試了這個alert(undefined || 0 || 3);
,果然,它會警告3
。我覺得這很離奇,因爲我期待true
或false
。誰能解釋一下發生了什麼?
是否'警報(未定義&& 0 && 3)''返回0'? – 2010-06-03 13:38:13
@Rising Star:爲什麼問OP,你可以自己動手嗎?...另外,對我而言,它返回'undefined'。 – Matchu 2010-06-03 13:39:34
供參考:如果你想要一個真值,做'!!(undefined || 0 || 3)' – Matt 2010-06-03 14:03:51