辨析JavaScript中的Undefined类型与null类型

 更新时间:2016年05月26日 16:38:54   作者:Murphywuwu  
Undefined与null都是js中的基本数据类型,然而正如它们的名字那样,未初始化和空并不相同,下面我们就来详细辨析JavaScript中的Undefined类型与null类型:

Undefined
表示变量已声明,但未被初始化。需要注意的是当使用typeof操作符判断数据类型时,未被声明的变量和未初始化的变量返回的值都为undefined

var message;
console.log(typeof message);//undefined
console.log(typeof age);//undefined

null:表示一个空对象指针
使用typeof操作符返回的值是'object',需要注意的是,undefined值是派生自null值的,因此ECMA-262规定对它们的相等性测试要返回true。

console.log(null == undefined);//true

undefined与null的区别
(1)undefined表示一个变量没有被声明,或者被声明了但没有被赋值
(2)null是一个表示“没有值”的值
(3)Javascript将未赋值的变量默认值设为undefined
(4)Javascript从来不会将变量设为null。它是用来让程序员表明某个用var声明的变量时没有值的。
(5)undefined不是一个有效的JSON,而null是
(6)undefined的类型(typeof)是undefined,null的类型(typeof)是object.

PS:它们都是基本类型
他们都是falsy (Boolean(undefined) // false, Boolean(null) // false)
你可以这样判断一个变量是否是undefined

 typeof variable === "undefined"

你可以这样判断一个变量是否是null

 variable === null

双等号比较时它们相等,但三等号比较时不相等

 null == undefined // true
 null === undefined // false

相关文章

  • 深入分析Javascript事件代理

    深入分析Javascript事件代理

    JavaScript事件是所有网页互动性的根基。在传统的事件处理中,事件处理器将有可能导致内存泄露或者是性能下降,JavaScript事件代理则是一种简单的技巧,通过它你可以把事件处理器添加到一个父级元素上,这样就避免了把事件处理器添加到多个子级元素上。
    2016-01-01
  • 关于setEndPoint msdn给出的参考

    关于setEndPoint msdn给出的参考

    关于setEndPoint msdn给出的参考...
    2007-05-05
  • javascript中神奇的 Date对象小结

    javascript中神奇的 Date对象小结

    日常生活中,各种形式的时间字符到处都是。时间观念的产生,时间单位、计时工具的发明,给人类带来的变化实在一言难尽。今天就来谈谈日期那些事儿。一起来看看 JavaScript 中的日期对象 Date。
    2017-10-10
  • JavaScript中Boolean对象的属性解析

    JavaScript中Boolean对象的属性解析

    这篇文章主要介绍了JavaScript中布尔对象的属性解析,包括对constructor属性和prototype构造器的简单介绍,需要的朋友可以参考下
    2015-10-10
  • Javascript valueOf 使用方法

    Javascript valueOf 使用方法

    返回指定对象的原始值。
    2008-12-12
  • 浅析JavaScript中的对象类型Object

    浅析JavaScript中的对象类型Object

    尽管JavaScript的拥趸一再强调js的面相对象,然而,或许只有在名为Object的这一类型中才能勉强理解出-- well...下面就让我们一起来浅析JavaScript中的对象类型Object
    2016-05-05
  • javascript 数组的正态分布排序的问题

    javascript 数组的正态分布排序的问题

    这篇文章主要介绍了javascript 数组的正态分布排序的问题的相关资料,需要的朋友可以参考下
    2016-07-07
  • 关于JSON的定义以及如何使用

    关于JSON的定义以及如何使用

    这篇文章主要介绍了关于JSON的定义以及如何使用,JSON 的名称中虽然带有JavaScript,但这是指其语法规则是参考JavaScript对象的,而不是指只能用于JavaScript语言,需要的朋友可以参考下
    2023-07-07
  • Javascript之文件操作

    Javascript之文件操作

    Javascript之文件操作...
    2007-03-03
  • JavaScript代码优雅,简洁的编写技巧总结

    JavaScript代码优雅,简洁的编写技巧总结

    专业开发人员将为未来的自己和“其他人”编写代码,而不仅仅只编写当前能工作就行的代码。在此基础上,简洁代码可以定义为自解释的、易于人理解的、易于更改或扩展的代码。以下列表一些好编写方式,仅供参考
    2022-10-10

最新评论