js中的null,undefined的区别
1. null表示没有对象,即该处不应该有值
典型用法:
(1) 作为函数的参数,表示该函数的参数不是对象。
(2) 作为对象原型链的终点。
2.undefined表示缺少值,即此处应该有一个值,但是还没有定义
典型用法:
(1)变量被声明了,但没有赋值时,就等于undefined。
(2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。
(3)对象没有赋值的属性,该属性的值为undefined。
(4)函数没有返回值时,默认返回undefined。
let x;
console.log(x); //undefined
function f(x){
console.log(x);
}
f(); //undefined
const obj = {};
console.log(obj.p); //undefined
function foo() {
}
console.log(foo()); //undefined