javascript中的null和undefined的区别有哪些?

在JavaScript中值undefined和null都表示”无”,那么它们之间有什么区别?下面本篇文章就来给大家介绍一下undefined和null的区别,希望对大家有所帮助。

关于undefined

在JavaScript代码中,你看到的undefined最有可能是全局对象的一个属性,该属性的初始值是就是前面所说的原始值undefined。还有种情况就是,这个undefined是个局部变量,就像其他普通变量一样,没有任何特殊性,它的值不一定是undefined,但通常情况下都是的。

关于null

null 是一个 JavaScript 字面量,而不是全局对象的一个属性(undefined 是全局对象的一个属性),表示空值(null 或者 “空” 值),即没有对象被呈现(no object value is present)。它是 JavaScript 原始值 之一。

在 APIs 中,null 常被放在期望一个对象,但是不引用任何对象的参数位置。

null 与 undefined 的不同点:

● 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

想要了解更多相关知识,可访问 前端学习网站!!

以上就是javascript中的null和undefined的区别有哪些?的详细内容,更多请关注易知道|edz.cc其它相关文章!

推荐阅读