1.首先是数据类型不一样
console.log(typeof null) // object
console.log(typeof undefined) // undefined
2.null和undefined 两者相等,但是当两者做全等比较时,两者又不等。(因为它们的数据类型不一样)
console.log(null == undefined) // true
console.log(null === undefined) // false
3.转化成数字不同
console.log(Number(null)) // 0
console.log(Number(undefined)) // NaN
console.log(22+null) // 22
console.log(22+undefined) // NaN
4.null代表"空",代表空指针;undefined是定义了没有赋值
var a;
console.log(a); // undefined
var b=null;
console.log(b) // null