- undefined表示变量声明过但未赋值
unll一般用于主动释放指向对象的引用,一般用于内存释放
null在js里面是特殊的对象,undefined不是
var a;
console.log(a); // undefined
var b=null;
console.log(b) // null
- 数据类型不一样(用typeof进行判断,null的数据类型是object,undefined的数据类型是undefined)
console.log(typeof null) // object
console.log(typeof undefined) // undefined
- null和undefined 两者相等,但是当两者做全等比较时,两者又不等。(因为它们的数据类型不一样)
console.log(null == undefined) // true
console.log(null === undefined) // false
- 转化成数字的值不同
console.log(Number(null)) // 0
console.log(Number(undefined)) // NaN
console.log(22+null) // 22
console.log(22+undefined) // NaN