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

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

alert( x );

如何捕获此错误?

回答:

JavaScript中,null是一个对象。不存在的事物还有另一个价值,undefined。DOM

null在几乎所有无法在文档中找到某些结构的情况下都会返回,但是在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像变量一样重新分配。原来的样子是这样的:

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

undefined可重新分配的问题已在2009年发布的ECMAScript

5中得到修复。现在,您可以安全地使用===!==进行测试,undefined而无需使用typeofas,undefined因为一段时间以来一直是只读的。

如果您想知道成员是否独立存在,但不在乎其值是什么:

if ('membername' in object) // With inheritance

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

如果您想知道变量是否为真:

if (yourvar)

以上是 如何在JavaScript中检查未定义的变量 的全部内容, 来源链接: utcz.com/qa/399031.html

回到顶部