日期:2014-05-16  浏览次数:20393 次

解剖JavaScript中的null和undefined

?

?

本文的下载地址:解剖JavaScript中的null和undefined

?

?? ?JavaScript开发中,被人问到:nullundefined到底有啥区别?

??? 一时间不好回答,特别是undefined,因为这涉及到undefined的实现原理。于是,细想之后,写下本文,请各位大侠拍砖。

??? 总所周知:null == undefined

? ? 但是:null !== undefined?

??? 那么这两者到底有啥区别呢?

??? 请听俺娓娓道来...

?

null

? ? 这是一个对象,但是为空。因为是对象,所以 typeof null? 返回 'object'

? ? null JavaScript 保留关键字。

? ? null 参与数值运算时其值会自动转换为 0 ,因此,下列表达式计算后会得到正确的数值:

    表达式:123 + null    结果值:123

    表达式:123 * null    结果值:0

?

undefined

  undefined是全局对象(window)的一个特殊属性,其值是未定义的。但 typeof undefined 返回 'undefined'

????? 虽然<