探讨js中null undefined的用法

发布时间:2020-02-04编辑:脚本学堂
本文介绍下,有关javascript中null、undefined的用法,有需要的朋友作个参考吧。

先来看 null,它是空对象
//显示object 
alert(typeof null); 

null 参与数值运算会自动转为0
 
再看来undefined,它是window的一个特殊属性,其值是未定义的
//弹出undefined 
alert(typeof undefined); 
//弹出true 
alert('undefined' in window);  

 
1,undefined参与任何数值运算结果都是NaN
 
备注:NaN是全局对象(window)的另一个特殊属性
例如
alert('NaN' in window);//true  
 
Null 和 Undefined
Null 类型只有一个null值
Undefined类型只有一个undefined值
document.getElementById("不存在的元素");//返回null
document.getElementById("不存在的元素").value;//返回的是undefineds
 
ECMAScript认为undefined是从null派生出来的,所以把它们定义为相等的。
但是,如果在一些情况下,一定要区分这两个值,那应该怎么办呢?可以使用下面的两种方法。
方法1,
 

复制代码 代码示例:
alert(null == undefined); //output "true"
alert(null === undefined); //output "false"
alert(typeof null == typeof undefined); //output "false"
 

方法2,
 

复制代码 代码示例:

<script> 
alert('undefined' in window);//true 

alert(typeof null);//object 
alert(typeof undefined);//undefined 
alert(typeof Null);//undefined 
alert(typeof Undefined);//undefined 

alert(3+null);//3 
alert(3+undefined);//NaN 

alert(null == undefined);//true 
alert(null === undefined);//falses 

alert(document.getElementById("no_exist_obj"));//null 
alert(document.getElementById("no_exist_obj").value);//脚本报错 
</script> 

备注:
1、typeof 返回的是字符串,有六种可能:"number"、"string"、"boolean"、"object"、"function"、"undefined"。
2、js中的数据类型有undefined,boolean,number,string,object等5种,前4种为原始类型,第5种为引用类型。