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

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