null 和undefined 的区别
1.undefined
表示缺少值,就是此处应该有一个值,但是还没有定义
常见用法是:
(1)变量被声明了,但没有赋值时,就等于undefined。
var a;
console.log(a);//undefined
(2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。
function b(c){
console.log(c);
}
b()//undefined
(3)对象没有赋值的属性,该属性的值为undefined。
var d = new Object()
console.log(d);
(4)函数没有返回值时,默认返回undefined。
var f = b();
f // undefined
2.null
表示没有对象,即该处不应该有值。
常见用法是:
(1) 作为函数的参数,表示该函数的参数不是对象。
(2) 作为对象原型链的终点
Object.getPrototypeOf(Object.prototype)
//null