Undefined类型只有一个值,即undefined。当声明的变量还未被初始化时,变量的默认值为undefined。
Null类型也只有一个值,即null。null用来表示尚未存在的对象,常用来表示函数返回一个不存在的对象。
ECMAScript认为undefined是null派生出来的,所以讲它们定义为相同的。
alert(null == undefined); //true
undefined:
var value ; alert(value == undefined); //true
这段代码显示为true,代表value的值即为undefined,因为我们没有初始化它。
alert(typeof undefined); //"Undefined"
undefined的类型是一个不存在的对象的占位符。
null:
alert(null == document.getElementById('notExistElement')); //true
当页面上不存在id为'notExistElement'的DOM节点时,这段代码显示为true,因为我们尝试一个不存在的对象。
alert(typeof null); //"Object"
null即是一个不存在的对象的占位符。
网友评论