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