null和undefined的区别

39 阅读1分钟
  1. undefined表示变量声明过但未赋值

unll一般用于主动释放指向对象的引用,一般用于内存释放

null在js里面是特殊的对象,undefined不是

var a;
console.log(a); // undefined

var b=null;
console.log(b) // null
  1. 数据类型不一样(用typeof进行判断,null的数据类型是object,undefined的数据类型是undefined)
console.log(typeof null) // object
console.log(typeof undefined) // undefined
  1. null和undefined 两者相等,但是当两者做全等比较时,两者又不等。(因为它们的数据类型不一样)
console.log(null == undefined) // true
console.log(null === undefined) // false
  1. 转化成数字的值不同
console.log(Number(null)) // 0
console.log(Number(undefined)) // NaN
console.log(22+null) // 22
console.log(22+undefined) // NaN