undefined 和 null 的异同
在javascript中,undefined和Null是两个比较特殊的值。但有时候在判断时就有点迷糊。依个人浅见,整理如下:
1、数据类型
众多周知,在javascript中存在五种基本类型,即undefined,null,boolean,number以及array。
因此可以认为undefined和null为两种数据基本类型。但区别在于,undefined为不能确定类型的变量值,而null为一个空对象指针。
2、== 与 ===
由于javascript在判断两个数据==时,会进行类型转换的问题。而在进行===时,则是针对数据内容和数据类型的完整性判断。
Null表示一个空对象指针,在进行typeof检测时,typeof NULL 会显示为object。因此,在定义变量时应初始化其值为null。
实际上,undefined派生自null,依照ECMAScript-262规定,在判断相等与否时,undefined == null 会返回true;而undefined === null则返回false。