JavaScript中null与undefined的比较

这两种类型近乎相等,都表示空值,在实际的操作中console.log(null == undefined)会输出true。但是它们之间有些的差别的,主要从定义、字面意思、使用情况等考虑。

从最初的的区分方式:null表示"无"的对象,转为数值时为0;undefined是一个表示"无"的原始值,转为数值时为NaN

undefined:表示"没有值",也就是说此处应该有一个值的,但还没有定义;

null:"没有对象",即该处不应该有值;


undefined会出现在哪,即应用:

当申明一个变量,但并未赋初始值时,这个变量的值就是undefined。

调用函数时,应该提供的参数并未提供,则该参数默认为undefined

访问对象没有赋值的属性,该属性默认为undefined。

函数没有定义return返回值时,默认返回undefined。

当return表达式没有显式的返回任何内容时,默认返回undefined


null会出现在哪?

定义一个变量,当我们希望它在将来保存对象时,最好将变量的初始值设为null。

对象原型链的终点是null

对于函数的参数,为了表示该函数的参数不是对象,会使用null。

posted @ 2017-03-25 16:27  北落师门丨  阅读(356)  评论(0编辑  收藏  举报