JavaScript 有两个表示“空”的值,其中比较有用的是 undefined,今天小编就来聊一聊关于js怎么判断是否是undefined?接下来我们就一起去研究一下吧!

js怎么判断是否是undefined(JavaScript-undefined和null)

js怎么判断是否是undefined

undefined 和 null

JavaScript 有两个表示“空”的值,其中比较有用的是 undefined。

undefined的值

undefined 是一个值为 undefined 的类型。

js定义了一个全局变量,它的值是 undefined,这个变量也被称为 undefined。 但是这个变量不是一个常量,也不是一个关键字。这意味着它的值可以轻易被覆盖。

在 ECMAScript 5 的严格模式下,undefined 不再是可写的了。 但是它的名称仍然可以被隐藏,比如定义一个函数名为 undefined。

下面的情况会返回 undefined 值:

处理 undefined 值的改变

由于全局变量 undefined 只是保存了 undefined 类型实际值的副本, 因此对它赋新值不会改变类型 undefined 的值。然而,为了方便其它变量和 undefined 做比较,我们需要事先获取类型 undefined 的值。

为了避免可能对 undefined 值的改变,一个常用的技巧是使用一个传递到匿名包装器的额外参数。 在调用时,这个参数不会获取任何值。

var undefined = 123; (function(something, foo, undefined) { // 局部作用域里的 undefined 变量重新获得了 `undefined` 值 })('Hello World', 42);

另外一种达到相同目的方法是在函数内使用变量声明。

var undefined = 123; (function(something, foo) { var undefined; ... })('Hello World', 42);

这里唯一的区别是,在压缩后并且函数内没有其它需要使用 var 声明变量的情况下,这个版本的代码会多出 4 个字节的代码。

如果此函数内没有其它需要声明的变量,那么 var 总共 4 个字符(包含一个空白字符) 就是专门为 undefined 变量准备的,相比上个例子多出了 4 个字节。

null 的用处

JavaScript 中的 undefined 的使用场景类似于其它语言中的 null,实际上 JavaScript 中的 null 是另外一种数据类型。

它在 JavaScript 内部有一些使用场景(比如声明原型链的终结 Foo.prototype = null),但是大多数情况下都可以使用 undefined 来代替。

,