null,undefined 的区别

149 阅读1分钟

区别

null 表示一个对象被定义了,值为“空值”;

undefined 表示不存在这个值

typeof undefined //"undefined"

undefined :是一个表示"无"的原始值或者说表示"缺少值",就是此处应该有一个值,但还 没有定义。当尝试读取时会返回 undefined; 例如变量被声明了,但没有赋值时,就等于 undefined

typeof null //"object"

null : 是一个对象(空对象, 没有任何属性和方法);

例如作为函数的参数,表示该函数的参数不是对象;

注意: 在验证 null 时,一定要使用=== ,因为 == 无法分别 null 和 undefined undefined 表示"缺少值",就是此处应该有一个值,但是还没有定义

典型用法是:

1、变量被声明了,但没有赋值时,就等于 undefined

2、调用函数时,应该提供的参数没有提供,该参数等于 undefined

3、对象没有赋值的属性,该属性的值为 undefined

4、函数没有返回值时,默认返回 undefined null 表示"没有对象",即该处不应该有值。典型用法是:

4.1) 作为函数的参数,表示该函数的参数不是对象

4.2) 作为对象原型链的终点