原文地址:http://blog.csdn.net/aimingoo/article/details/580336
在JavaScript中,null与undefined曾一度使我迷惑。下面的文字,有利于你更清晰的认知它(或者让你更迷惑):
- null是关键字;undefined是Global对象的一个属性。
- null是对象(空对象, 没有任何属性和方法);undefined是undefined类 型的值。试试下面的代码:
console.log(typeof null);
console.log(typeof undefined);
- 对象模型中,所有的对象都是Object或其子类的实例,但null对象例外://不明白,求真象
console.log(null instanceof Object);
- null“等值(==)”于undefined,但不“全等值(===)”于undefined:
console.log(null == undefined);
console.log(null === undefined);
- 运算时null与undefined都可以被类型转换为false,但不等值于false:
console.log(!null, !undefined);//一直都是这么用的
console.log(null==false);//不明白,求真象
console.log(undefined==false);//不明白,求真象
undefined跟null的区别,简单总结如下:
1. undefined == null //true
2. undefined === null //false
3. undefined === window.undefined //true
4. undefined === void 0 // true,性能优化技巧:判断一个变量是否是undefined,如果直接跟undefined对比的话,undefined的取值事实上会从window.undefined读取,如果window上有很多属性就会慢一些;而如果用void 0,就可以直接得到undefined,性能会快一些。
5. typeof undefined => ‘undefined’
6. typeof null => ‘object’
分享到:
相关推荐
null和undefined的区别 null :表示无值;undefined : 表示一个未声明的变量,或已声明但没有赋值的变量,或一个并不存在的对象属性。==运算符将两者看作相等。如果要区分两者,要使用===或typeof运算符。使用if (!...
null和undefined属于js中两种不同的基本数据类型,都可以表示“没有”,含义非常相似。将一个变量赋值为undefined或null,老实说,语法效果几乎没区别。并且在if语句的判断条件中,它们都会自动转为false,相等...
javascript 中null和undefined区分和比较 Undefined类型 Undefined 类型只有一个值,即特殊 undefined 。在使用 var 声明变量但未对其加以初始化时,这个变量的值就是 undefined , 例如: var message; alert(...
总所周知:null == undefined 但是:null !== undefined 那么这两者到底有啥区别呢? 请听俺娓娓道来… null 这是一个对象,但是为空。因为是对象,所以 typeof null 返回 ‘object’ 。 null 是 JavaScript 保留...
但是,本文将更多聚焦独特的原始数据类型Null和Undefined,是什么让他们如此相似,却又似是而非。 一、理解Null和Undefined 在JavaScript中,null是字面量同时也是语言中的关键字,用来表示无法识别的对象值。...
JavaScript中存在2个代表信息不存在的特殊值:null和undefined。个人认为可以从以下角度来理解这两个特殊值之间的区别: 1.null代表有存储信息的容器(比如之前被赋过值的变量),但该容器中的内容为空。 2.undefined...
null null 表示个“空” , 使用typeof (null) ;//Object ; 说明他是一个特殊的对象。 ...null 和 undefined 在莫种意义上可以一样 ,比如都可以转换成布尔值,表示 false; null 和 undefi
在JavaScript中存在这样两种原始类型:Null与Undefined。这两种类型常常会使JavaScript的开发人员产生疑惑,在什么时候是Null,什么时候又是Undefined? Undefined类型只有一个值,即undefined。当声明的变量还未被...
javascript之null和undefined</title> </head> <body> [removed] /** ******************null关键字******************** JavaScript中的关键字null是一个特殊的值,它表示“无值”。null常常被...
主要介绍了Javascript基础教程之比较null和undefined值的相关知识,非常不错,具有参考借鉴价值,感兴趣的朋友一起学习吧
exp 为 undefined 时,也会得到与 null 相同的结果,虽然 null 和 undefined 不一样。 注意:要同时判断 null 和 undefined 时可使用本法。 var exp = null; if (!exp) { alert(is null); } 如果 exp 为 ...
在JavaScript开发中,被人问到:null与undefined到底有啥区别? 一时间不好回答,特别是undefined,因为这涉及到undefined的实现原理。于是,细想之后,写下本文,请各位大侠拍砖。 总所周知:null == undefined ...
JavaScript中undefined和null的区别 JavaScript两个表示”无”的值:undefined和null。我在平时只是null用的多一点,undefined只是在报错中经常遇到。下面针对这两个数据类型的异同做一下详细的比较。 1.undefined和...
主要给大家介绍了关于js删除对象/数组中null、undefined、空对象及空数组的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编一起来看看吧