javascript中null和undefined的区别?

如题所述

第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
第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
第3个回答  2018-03-13

它们都是javascript的基本数据类型之一

区别:

undefined:当声明的变量还未被初始化时,变量的默认值为undefined。

null:用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。

一般可以这么检验

var a = null
var 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
第5个回答  2011-10-31
null是不存在
undefined错误、不明确、未定义
一般在js中判断空值的作法如下
if(s==null||s==undefined||s==""){
......
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网