JavaScript中的Undefined / Null 类型相关说明

1,综述:

  ※Undefined 和 Null是JavaScript中的两种数据类型(其他的类型还有:Boolean, String, Number, Object)。

  ※Undefined类型只有一个值:undefined;Null类型也只有一个值:null。

2,Undefined类型相关说明:

  ※在使用了var声明了相关变量但未对其初始化时,这个变量的值就是undefined。

  ※这和未经声明(即未经定义)的变量不一样,如果使用未经声明的变量,会报错ReferenceError: s is not defined。

  ※对于尚未声明的变量只能进行一个操作:使用typeof 操作符检测其数据类型,然而令人困惑的是,对未经初始化和未经声明的变量执行typeof操作符都返回 undefined 值。这个结果有其逻辑上的合理性,虽然这两种变量从技术角度看有本质的区别,但实际上无论对哪种变量也不可能执行真正的操作。

3,Null类型相关说明:

  ※首先,null是一个初始化的值。从逻辑角度讲,null值表示一个空的对象指针,所以使用typeof操作符检测null值(或检测值为null的变量)返回值为"object";

  ※只要意在保存对象的变量还没有真正保存对象,就应该明确的让该变量初始化为null值,这样做不仅可以体现出null作为空对象指针的惯例,而且还有助于进一步区分null和undefined。

4,其他需要注意的地方:

  ※上面说到如果使用未声明的变量会报错,但如果作为对象的一个属性访问,即使这个属性尚未声明(定义),也不会报错,而是返回undefined。见下例:

  alert(sss);//报错

  var o = {}; alert(o.sss);//undefined.

  一般来说,如果访问对象的属性返回了undefined值,就表示此属性未定义(当然像var o = {sss:undefined}也会返回undefined)。

原文地址:https://www.cnblogs.com/everest33Tong/p/7595761.html