`
kongxiantao
  • 浏览: 108059 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

null 和 undefined

阅读更多

原文地址: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的区别 null :表示无值;undefined : 表示一个未声明的变量,或已声明但没有赋值的变量,或一个并不存在的对象属性。==运算符将两者看作相等。如果要区分两者,要使用===或typeof运算符。使用if (!...

    JavaScript中的null和undefined用法解析

    null和undefined属于js中两种不同的基本数据类型,都可以表示“没有”,含义非常相似。将一个变量赋值为undefined或null,老实说,语法效果几乎没区别。并且在if语句的判断条件中,它们都会自动转为false,相等...

    javascript 中null和undefined区分和比较

    javascript 中null和undefined区分和比较 Undefined类型 Undefined 类型只有一个值,即特殊 undefined 。在使用 var 声明变量但未对其加以初始化时,这个变量的值就是 undefined , 例如: var message; alert(...

    JavaScript null和undefined区别分析

    总所周知:null == undefined 但是:null !== undefined 那么这两者到底有啥区别呢? 请听俺娓娓道来… null 这是一个对象,但是为空。因为是对象,所以 typeof null 返回 ‘object’ 。 null 是 JavaScript 保留...

    详解javascript中原始数据类型Null和Undefined

    但是,本文将更多聚焦独特的原始数据类型Null和Undefined,是什么让他们如此相似,却又似是而非。 一、理解Null和Undefined 在JavaScript中,null是字面量同时也是语言中的关键字,用来表示无法识别的对象值。...

    JavaScript中的null和undefined区别介绍

    JavaScript中存在2个代表信息不存在的特殊值:null和undefined。个人认为可以从以下角度来理解这两个特殊值之间的区别: 1.null代表有存储信息的容器(比如之前被赋过值的变量),但该容器中的内容为空。 2.undefined...

    JavaScript必知必会(二) null 和undefined

    null  null 表示个“空” ,  使用typeof (null) ;//Object ; 说明他是一个特殊的对象。 ...null 和 undefined 在莫种意义上可以一样 ,比如都可以转换成布尔值,表示 false; null 和 undefi

    JavaScript中Null与Undefined的区别解析

    在JavaScript中存在这样两种原始类型:Null与Undefined。这两种类型常常会使JavaScript的开发人员产生疑惑,在什么时候是Null,什么时候又是Undefined? Undefined类型只有一个值,即undefined。当声明的变量还未被...

    javascript权威指南 学习笔记之null和undefined

    javascript之null和undefined</title> </head> <body> [removed] /** ******************null关键字******************** JavaScript中的关键字null是一个特殊的值,它表示“无值”。null常常被...

    Javascript基础教程之比较null和undefined值

    主要介绍了Javascript基础教程之比较null和undefined值的相关知识,非常不错,具有参考借鉴价值,感兴趣的朋友一起学习吧

    JS中判断null的方法分析

    exp 为 undefined 时,也会得到与 null 相同的结果,虽然 null 和 undefined 不一样。 注意:要同时判断 null 和 undefined 时可使用本法。 var exp = null; if (!exp) { alert(is null); } 如果 exp 为 ...

    JavaScript中的null和undefined解析

    在JavaScript开发中,被人问到:null与undefined到底有啥区别? 一时间不好回答,特别是undefined,因为这涉及到undefined的实现原理。于是,细想之后,写下本文,请各位大侠拍砖。 总所周知:null == undefined ...

    JavaScript中undefined和null的区别

    JavaScript中undefined和null的区别 JavaScript两个表示”无”的值:undefined和null。我在平时只是null用的多一点,undefined只是在报错中经常遇到。下面针对这两个数据类型的异同做一下详细的比较。 1.undefined和...

    js删除对象/数组中null、undefined、空对象及空数组方法示例

    主要给大家介绍了关于js删除对象/数组中null、undefined、空对象及空数组的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编一起来看看吧

Global site tag (gtag.js) - Google Analytics