在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,而nul
l是;
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
网友评论文明上网理性发言 已有0人参与
发表评论: