美文网首页
JavaScript中undefined和null的区别

JavaScript中undefined和null的区别

作者: phpCN中文网 | 来源:发表于2019-08-17 09:31 被阅读0次

在JavaScript中值undefined和null都表示”无”,那么它们之间有什么区别?下面本篇文章就来给大家介绍一下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是;

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

null == undefined            // true

null === undefined          // false

typeof undefined            // undefined

typeof null                  // object

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

在'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


本文参考地址:https://www.html.cn/qa/javascript/10504.html

相关文章

网友评论

      本文标题:JavaScript中undefined和null的区别

      本文链接:https://www.haomeiwen.com/subject/olrhsctx.html