小编典典

如何在 JavaScript 中检查未定义的变量

all

我想检查变量是否已定义。例如,以下抛出未定义的错误

alert( x );

我怎样才能捕捉到这个错误?


阅读 106

收藏
2022-02-28

共1个答案

小编典典

在 JavaScript 中,null是一个对象。不存在的事物还有另一个价值,undefined.
DOMnull在几乎所有无法在文档中找到某些结构的情况下都会返回,但在 JavaScript 本身undefined中就是使用的值。

其次,不,没有直接的等价物。如果您真的想专门检查null,请执行以下操作:

if (yourvar === null) // Does not execute if yourvar is `undefined`

如果要检查变量是否存在,只能使用try/来完成catch,因为typeof会将未声明的变量和使用值声明的变量undefined视为等效的。

但是,要检查变量是否已声明 且未undefined声明:

if (yourvar !== undefined) // Any scope

以前,必须使用typeof运算符安全地检查 undefined,因为可以undefined像变量一样重新分配。旧方式如下所示:

if (typeof yourvar !== 'undefined') // Any scope

undefined可重新分配的问题已在 2009 年发布的 ECMAScript 5
中得到修复。您现在可以安全地使用===!==测试,undefined而无需使用一段typeof时间undefined以来一直是只读的。

如果你想知道一个成员是否独立存在但不关心它的值是什么:

if ('membername' in object) // With inheritance
if (object.hasOwnProperty('membername')) // Without inheritance

如果您想知道变量是否为

if (yourvar)

资源

2022-02-28