我想知道當的Javascript if
表達實際的計算結果爲false
,何時true
。 if
陳述false
和是什麼時候適用於所有JS解釋器?的Javascript如果表達式求值
我猜的條件是false
上
false
undefined
null
0
否則true
。這是正確的所有實現(在Safari/WebKit控制檯測試),或者我更好的明確檢查像(typeof a === "undefined")
?
我想知道當的Javascript if
表達實際的計算結果爲false
,何時true
。 if
陳述false
和是什麼時候適用於所有JS解釋器?的Javascript如果表達式求值
我猜的條件是false
上
false
undefined
null
0
否則true
。這是正確的所有實現(在Safari/WebKit控制檯測試),或者我更好的明確檢查像(typeof a === "undefined")
?
以下值將評估爲false:
https://developer.mozilla.org/en/JavaScript/Guide/Statements#if...else_Statement
如果你想檢查的變量存在,a
沒有腳本中任何聲明,typeof a === 'undefined'
是這樣的,或可以使用if (!window.a)
。否則引發ReferenceError。
你的猜測似乎是正確的。一個空字符串和NaN也評估爲false
(或者像falsy
那樣)。即0計算結果爲false
,這一事實可能會非常棘手,但它很方便也像while (i--)
語句(如果i
爲0計算結果爲false
值和while循環停止)。
謝謝!忽略了! – 2012-03-19 09:36:26