如题所述
第1个回答 2016-01-04
undefined表示变量声明但未初始化时的值,
null表示准备用来保存对象,还没有真正保存对象的值。从逻辑角度看,null值表示一个空对象指针。
JavaScript(ECMAScript标准)里共有5种基本类型:Undefined, Null, Boolean, Number, String,和一种复杂类型Object。可以看到null和undefined分属不同的类型,未初始化定义的值用typeof检测出来是"undefined"(字符串),而null值用typeof检测出来是"object"(字符串)。
任何时候都不建议显式的设置一个变量为undefined,但是如果保存对象的变量还没有真正保存对象,应该设置成null。
实际上,undefined值是派生自null值的,ECMAScript标准规定对二者进行相等性测试要返回true,即
alert(null==undefined); // true
null表示准备用来保存对象,还没有真正保存对象的值。从逻辑角度看,null值表示一个空对象指针。
JavaScript(ECMAScript标准)里共有5种基本类型:Undefined, Null, Boolean, Number, String,和一种复杂类型Object。可以看到null和undefined分属不同的类型,未初始化定义的值用typeof检测出来是"undefined"(字符串),而null值用typeof检测出来是"object"(字符串)。
任何时候都不建议显式的设置一个变量为undefined,但是如果保存对象的变量还没有真正保存对象,应该设置成null。
实际上,undefined值是派生自null值的,ECMAScript标准规定对二者进行相等性测试要返回true,即
alert(null==undefined); // true
第2个回答 2018-03-14
Undefined类型只有一个值,即undefined。当声明的变量还未被初始化时,变量的默认值为undefined。
Null类型也只有一个值,即null。null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。
var a;
alert(a); //undefined
js 代码
alert( document.getElementById('aa')); //null
当页面上不存在id为"aa"的DOM节点时,结果为null
alert(typeof undefined); // undefined
alert(typeof null); //object
Null类型也只有一个值,即null。null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。
var a;
alert(a); //undefined
js 代码
alert( document.getElementById('aa')); //null
当页面上不存在id为"aa"的DOM节点时,结果为null
alert(typeof undefined); // undefined
alert(typeof null); //object
第3个回答 2018-03-13
它们都是javascript的基本数据类型之一
区别:
undefined:当声明的变量还未被初始化时,变量的默认值为undefined。
null:用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。
一般可以这么检验
var a = nullvar b = undefined
var c;
console.log('============')
console.log(a == b) // true
console.log(a === b) // false
console.log(b === c) // 注意:返回true
console.log('============')
console.log(a === null) // true
console.log(b === null) // false
console.log('============')
console.log(a === undefined) // false
console.log(b === undefined)// true
一般在条件if中,无论a是null还是undefined,都会这么使用
if (!a) {// ...code
}
第4个回答 2011-10-31
undefine是未定义的对象
null是定义的对象 但是没有实例 ....
可以理解为null是defined了的obj
只是没有赋值或new
null是定义的对象 但是没有实例 ....
可以理解为null是defined了的obj
只是没有赋值或new
第5个回答 2011-10-31
null是不存在
undefined错误、不明确、未定义
一般在js中判断空值的作法如下
if(s==null||s==undefined||s==""){
......
}
undefined错误、不明确、未定义
一般在js中判断空值的作法如下
if(s==null||s==undefined||s==""){
......
}