js null和 undefined

js中存在两种原始数据类型: null 和 undefined
undefined 类型只有一个值,即 undefined.当声明的变量还未被初始化的时候,变量的默认值为 undefined.
null 类型也只有一个值,即 null.null 用来表示尚未存在的东西,常用来表示函数企图返回一个不存在的对象.

eg1:
var oValue;
alert(oValue == undefined); //output "true"
alert(null == document.getElementById('notExistElement'));
当页面上不存在id为"notExistElement"的DOM节点时,这段代码显示为"true",因为我们尝试获取一个不存在的对象。

eg2:
alert(typeof undefined); //output "undefined"
alert(typeof null); //output "object"

eg3:
alert(null == undefined); //output "true"
ECMAScript认为undefined是从null派生出来的,所以把它们定义为相等的。但是,如果在一些情况下,我们一定要区分这两个值,那应该怎么办呢?可以使用下面的两种方法。

eg4:
alert(null === undefined); //output "false"
alert(typeof null == typeof undefined); //output "false"

你可能感兴趣的:(js null和 undefined)