js基础类型null和undefined的区别

149 阅读1分钟

undefined和null类型都只有一个值,分别是undefined和null

undefined

  1. 在声明变量没有初始化时,这个变量的值就是undefined。不过早期是没有js版本中没有这个值,会给window对象添加undefined值来解决。
  2. alert(typeof undefined); // "undefined"
  3. undefined是一个表示"无"的原始值,转为数值时为NaN。
  4. undefined是全局对象(window)的一个特殊属性。
  5. undefined参与任何数值计算时,其结果一定是NaN。NaN是全局对象(window)的另一个特殊属性。

null

  1. 从逻辑的角度来看,null值表示一个空指针对象,使用typeof操作符检测null时会返回object。如果定义的变量准备在将来用于保存对象,那么最好将该变量初始化为null而不是其他值。这样一来,只要直接检测null值就可以知道相应的变量是否已经保存了一个对象的引用了。
  2. alert(typeof null); // "object"
  3. null是一个表示"无"的对象,转为数值时为0;
  4. null 是 JavaScript 保留关键字。