Javascript中null和undefined的区别

转载 2015年11月18日 13:03:29
Undefined类型只有一个值,即undefined。当声明的变量还未被初始化时,变量的默认值为undefined。

Null类型也只有一个值,即null。null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。


js 代码
 
  1. var oValue;  
  2. alert(oValue == undefined); //output "true"  


这段代码显示为true,代表oVlaue的值即为undefined,因为我们没有初始化它。

js 代码
 
  1. alert(null == document.getElementById('notExistElement'));  


当页面上不存在id为"notExistElement"的DOM节点时,这段代码显示为"true",因为我们尝试获取一个不存在的对象。

js 代码
 
  1. alert(typeof undefined); //output "undefined"  
  2. alert(typeof null); //output "object"  


第一行代码很容易理解,undefined的类型为Undefined;第二行代码却让人疑惑,为什么null的类型又是Object了呢?其实这是JavaScript最初实现的一个错误,后来被ECMAScript沿用下来。在今天我们可以解释为,null即是一个不存在的对象的占位符,但是在实际编码时还是要注意这一特性。

js 代码
 
  1. alert(null == undefined); //output "true"  


ECMAScript认为undefined是从null派生出来的,所以把它们定义为相等的。但是,如果在一些情况下,我们一定要区分这两个值,那应该怎么办呢?可以使用下面的两种方法。

js 代码
 
  1. alert(null === undefined); //output "false"  
  2. alert(typeof null == typeof undefined); //output "false"  


使用typeof方法在前面已经讲过,null与undefined的类型是不一样的,所以输出"false"。而===代表绝对等于,在这里null === undefined输出false。


以上内容转载自:http://www.cnblogs.com/eastday/archive/2010/03/03/1677324.html

js 中null和undefined的区别和用法

js中,每次想知道一个对象是否为空时,首先想到的判断条件是"o==null",但转念一想,感觉还不大安心,又加上“||o== undefined”,这样终于 心满意足了!这就侧面表现出我对null和u...
  • jiangzhongwei_
  • jiangzhongwei_
  • 2016年07月26日 09:47
  • 966

JavaScript中null和undefined的比较和区别

在JavaScript中很经常就会出现null和undefined这几种结果,今天就详细的介绍一下null和undefined的定义和区别。 null根据其名字就可以大致看出来意思,就是为空。在js中...
  • linzhiqiang0316
  • linzhiqiang0316
  • 2016年07月29日 16:11
  • 1584

javascript中not defined、undefined、null以及NaN的区别

【 前言 】         从踏入IT行业开始,我就发现技术人员写博客很有必要。如果不写博客,时间久了就像好比天天在外面建房子的人,没有一个自己的房子一样。不管学习紧不紧,工作忙不忙,多动手进行梳理...
  • xjun0812
  • xjun0812
  • 2015年10月27日 10:20
  • 1585

javascript面试题之null和undefined的区别

javascript中有两个值表示“空”,null和undefined。 在一些情况下,null和undefined几乎是一样的。例如:if (!undefined) {// undefined i...
  • longwenjunjie
  • longwenjunjie
  • 2015年09月15日 12:46
  • 463

javascript相关面试题汇总

1.undefined与null详细讲解null是一个表示"无"的对象,转为数值时为0 undefined是一个表示"无"的原始值,转为数值时为NaN 当声明的...
  • qq_39894133
  • qq_39894133
  • 2018年01月30日 09:54
  • 16

JS中判断undefined和null类型

JavaScript中有两种特殊数据类型:undefined和null,JS判断undefined以下是不正确的写法:if(exp == undefined){ alert("undefin...
  • itmyhome
  • itmyhome
  • 2015年08月05日 22:47
  • 4422

javascript变量undefined和null的问题

我们经常会这样使用,对一个后台传过来的变量进行判断是否为空再取其值。 比如代码写成这样:if(variable) { .... // 此处省略逻辑代码 } 问题来了: 1.variabl...
  • u011634033
  • u011634033
  • 2016年07月23日 09:11
  • 657

js中的undefined,null,空字符串,false,true之间的关系

因为在其他书上看到undefined,null,空字符串都能当作false用在if语句判断,所以一直以为undefined,null,空字符串,false之间是相等的关系; 前段时间在写...
  • baidu_33488327
  • baidu_33488327
  • 2016年10月03日 13:21
  • 4273

js 中的null和undefined相等的条件判断

今天,调试js时碰到了一个问题,json对象转换字符串时,null,被过滤掉了,跟踪之后发现 null == undefined 的结果是true, 并且 typeof(null) == 'obje...
  • lihxa2002
  • lihxa2002
  • 2016年11月07日 09:11
  • 590

Web前端面试笔试题——null和undefined有什么区别么?

1、定义 (1)undefined:是所有没有赋值变量的默认值,自动赋值 (2)null:主动释放一个变量引用的对象,表示一个变量不再指向任何对象地址 2、何时使用null? 当使用完...
  • zxy9602
  • zxy9602
  • 2017年04月19日 18:17
  • 422
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Javascript中null和undefined的区别
举报原因:
原因补充:

(最多只允许输入30个字)