如何在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
而无需使用typeof
as,undefined
因为一段时间以来一直是只读的。
如果您想知道成员是否独立存在,但不在乎其值是什么:
if ('membername' in object) // With inheritanceif (object.hasOwnProperty('membername')) // Without inheritance
如果您想知道变量是否为真:
if (yourvar)
以上是 如何在JavaScript中检查未定义的变量 的全部内容, 来源链接: utcz.com/qa/399031.html