JS面试题突破:谈谈 undefined 和 null ?

在JavaScript中,null和undefined都是表示“空”的特殊值,它们的用

法和含义略有不同。

undefined表示未定义或者不存在,通常在以下情况下出现:

  1. 变量被声明了,但是没有被赋值。
  2. 对象没有赋值的属性。
  3. 函数没有返回值时,默认返回undefined。

null表示空值,即某个变量的值为空。在以下情况下常常使用null:

  1. 作为函数的参数,表示该函数的参数不是对象。
  2. 作为对象原型链的终点。
  3. 表示对象不存在或已被销毁。

两者的区别在于它们的类型不同,undefined的类型为Undefined,而null的类型为Object。此外,在进行比较操作时,它们也有所不同:undefined和null相互比较时,结果为true。但是和其他值比较时,undefined和null分别都和布尔型的false和null相等,但和数字类型比较时,它们分别变成了NaN和0。

原文链接:,转发请注明来源!