2012-03-19 66 views
6

我想知道當的Javascript if表達實際的計算結果爲false,何時trueif陳述false是什麼時候適用於所有JS解釋器的Javascript如果表達式求值

我猜的條件是false

  • false
  • undefined
  • null
  • 0

否則true。這是正確的所有實現(在Safari/WebKit控制檯測試),或者我更好的明確檢查像(typeof a === "undefined")

回答

1

如果你想檢查的變量存在,a沒有腳本中任何聲明,typeof a === 'undefined'是這樣的,可以使用if (!window.a)。否則引發ReferenceError。

你的猜測似乎是正確的。一個空字符串和NaN也評估爲false(或者像falsy那樣)。即0計算結果爲false,這一事實可能會非常棘手,但它很方便也像while (i--)語句(如果i爲0計算結果爲false值和while循環停止)。