JavaScript.The.Good.Parts阅读笔记(一)假值与===运算符

 

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

建议使用===(!===)运算符。 


 

你可能感兴趣的:(JavaScript)