对Javascript中 null 和 undefined 的理解
ECMAScript 中有5种简单数据类型(也称基本数据类型):Undefined、Null、Boolean、Number、String。还有一种复杂数据类型:Object。
Undefined类型只有一个值,即undefined。只声明没有初始化的变量值就是undefined值。
ECMA-262: The Undefined type has exactly one value, called undefined. Any variable that has not been assigned a value has the value undefined.Null类型是第二个只有一个值的数据类型,即null。null值表示一个空对象指针,这也是用typeof null 返回 object的原因。
ECMA-262: The Null type has exactly one value, called null.
var obj = "a";
var nullobj;
if (nullobj == null){
console.log("obj is null");
}
if (nullobj == undefined){
console.log("obj is undefined");
}
if ( !nullobj ){
console.log("! obj ");
}
if(null == undefined){
console.log('null == undefined');
}
Javascript 中会被当做假(false)的那些值
false, null, undefined, 数字0, 数字NaN, 空字符串""
if(!0){
console.log('number 0')
}
if(!""){
console.log("empty string")
}
if(!null){
console.log("null")
}
if(!undefined){
console.log("undefined")
}
if(!false){
console.log("false")
}
if(!NaN){
console.log("NaN")
}
你可以打开Chrome Console 查看代码运行结果。
2014-11-25