null 和 undefined 的区别
1.相似性
在JavaScript中,将一个变量赋值为undefined或null,老实说,几乎没区别。
var a = null;
var a = undefined;
上面代码中,a变量分别被赋值为 undefined 和 null,这两种写法几乎等价。
undefined和null在语句中,都会被自动转为false,相等运算符甚至直接报告两者相等。
console.log(null== undefined) //true
console.log(null ===undefined) //false
由此观察可知:null 和 undefined 两者相等,但是当两者做全等比较时,两者又不等。
2.区别
null是一个表示"无"的对象,转为数值时为0
undefined是一个表示"无"的原始值,转为数值时为NaN