×

怎么理解JavaScript中的值undefined和null

作者:andy0012020.01.17来源:Web前端之家浏览:7803评论:0
关键词:jsundefinednull

在JavaScript中值undefined和null都表示”无”,那么它们之间有什么区别?

undefined:

在 JavaScript 中, undefined 是一个没有设置值的变量。

typeof 一个没有值的变量会返回 undefined。

null:

在 JavaScript 中 null 表示 "什么都没有"。

null是一个只有一个值的特殊类型。表示一个空对象引用。

undefined和null的区别:

undefined表示一个变量没有被声明,或者被声明了但没有被赋值(未初始化),一个没有传入实参的形参变量的值为undefined,如果一个函数什么都不返回,则该函数默认返回undefined。null则表示“什么都没有”,即“空值”。

Javascript将未赋值的变量默认值设为undefined;Javascript从来不会将变量设为null。它是用来让程序员表明某个用var声明的变量时没有值的;

undefined不是一个有效的JSON,而null是;

nullundefined 的值相等,但类型不等:undefined的类型(typeof)是undefined;null的类型(typeof)是object

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

typeof undefined             // undefined
typeof null                  // object

nullundefined之间的主要区别在于它们被转换为原始类型的方式。

在'null'上执行算术转换时,则值为0,可以使用以下代码片段验证此转换。

var v1= 5+ null;
console.log(v1)

执行时,此代码的将输出

5

但是,“undefined”不执行任何此类转换。如果您尝试将“undefined”添加到数字中,您将获得NaN或Not-a-Number。以下代码片段说明了“undefine”的这一方面。

var v2= 5+ undefined;
console.log(v2)

执行时,代码将输出:

NaN

您的支持是我们创作的动力!
温馨提示:本文作者系 ,经Web前端之家编辑修改或补充,转载请注明出处和本文链接:
https://www.jiangweishan.com/article/jsuuoiwuerioweuriou.html

网友评论文明上网理性发言 已有0人参与

发表评论: