js中null和undefined的区别

来源:互联网 发布:mac teamviewer官网 编辑:程序博客网 时间:2024/05/17 23:19

JavaScript有两个特殊的原始值:null和undefined,它们不是数字、字符串和布尔值。它们通常分别代表了各自特殊类型的唯一的成员,也就说是它自有类型的唯一的一个成员。从技术上讲,只有Javascript对象才能拥有方法,数字、字符串和布尔值都可以拥有自己的方法,但是null和undefined却无法拥有方法的值。

null是JavaScript的关键字,表示一个特殊值,在IE5.5及其以上版本浏览器,undefined被定义为全局变量,作为一个关键字被JavaScript支持。

null和undefined都是表示“值的空缺”,用相等运算符进行比较,认为它们是相等的,在if语句中null和undefined都会转为false,可见 null和undefined非常类似,但是我们可以用全等运算符(===)和typeof运算符来区分它们的异同
这里写图片描述

如果一个变量被声明,但是还未被赋值,那么会返回undefined,可以理解为该变量缺少值,用未定义的值表示更深层次的“空值”,它是变量的一种取值,表示变量还没有初始化
这里写图片描述

值undefined不同于未定义的值,我们用typeof运算符可以区分它们之间的不同,如:
这里写图片描述
对于未声明的变量b来说,如果使用其他运算符来对其进行计算的话,都会引发错误,因为其他运算符只能够用于以及声明的变量,像下面这样写提示未定义的错误信息:
这里写图片描述

如果要查询对象属性或数组元素的值时,返回undefined,则说明这个属性或者元素不存在。

如果函数没有返回任何值,则默认返回undefined,如:
这里写图片描述

引用没有提供实参的函数形参的值时候也会得到undefined,undefined是预定义的全局变量,它的值表示“未定义”。

0 0
原创粉丝点击