JavaScript的假值列表如下,
值
類型
0
Number
NaN (非數字)
Number
'' (空字符串)
String
false
Boolean
null
Object
undefined
Undefined
以上的值作為判斷條件,都將為假值,如:
復制代碼 代碼如下:
if(undefined) {
alert('undefined'); //這行代碼不會執行
}
while(null)
{
alert('null'); //這行代碼不會執行
}
雖然這些值全部都等同於假,但它們是不可互換的。
下面列出一些例子 :
undefined === null //false
undefined == null //true
甚至
NaN === NaN //false
NaN == NaN //false
PS:NaN跟NaN無論用哪種運算都不相等,可以用IsNaN(NaN)來解決NaN的判斷問題。
==(!=)運算符會進行強制類型轉換,而且轉換規則相當詭異。下面是一些例子。
復制代碼 代碼如下:
'' == '0' // false
0 == '' // true
0 == '0' // true
false == 'false' // false
false == '0' // true
false == undefined // false
false == null // false
null == undefined // true
' \t\r\n ' == 0 // true
建議使用===(!===)運算符。