根据老师上课讲的以及网上大佬们的解释整理了一下
Null:
null是js中的关键字,表示空值,null可以看作是object的一个特殊的值,如果一个object值为空,表示这个对象不是有效对象。
Undefined:
以下情况会返回undefined:
1.使用了一个未定义的变量;var i;
2.使用了已定义但未声明的变量;
3.使用了一个对象属性,但该属性不存在或者未赋值;
4.调用函数时,该提供的参数没有提供:
function func(a){
console.log(a);
}
func();//undefined
5)函数没有返回值时,默认返回undefined
var a=func();
a;//undefined
两者的区别:
1.类型不一样:
console.log(typeOf undefined);
//undefined
console.log(typeOf
null
);
//object
2.转化为值时不一样:undefined为NaN ,null为0
console.log(Number(undefined));
//NaN
console.log(Number(10+undefined));
//NaN
console.log(Number(
null
));
//0
console.log(Number(10+
null
));
//10
3.undefined===null;//false
undefined==null;//true