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
"
" == 0 // true
建议使用===(!===)运算符。