如何在 JavaScript 中检查未定义的变量
2022-08-29 22:10:23
我想检查变量是否已定义。例如,以下内容会引发未定义的错误
alert( x );
如何捕获此错误?
我想检查变量是否已定义。例如,以下内容会引发未定义的错误
alert( x );
如何捕获此错误?
在JavaScript中,是一个对象。对于不存在的东西,还有另一个价值, .DOM在几乎所有情况下都返回,它无法在文档中找到某些结构,但在JavaScript中,它本身就是使用的值。null
undefined
null
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
可重新分配的问题在 2009 年发布的 ECMAScript 5 中得到了修复。您现在可以安全地使用和测试,而无需使用,因为已经只读了一段时间。undefined
===
!==
undefined
typeof
undefined
如果你想知道一个成员是否独立存在,但并不关心它的价值是什么:
if ('membername' in object) // With inheritance
if (object.hasOwnProperty('membername')) // Without inheritance
如果你想知道一个变量是否真实:
if (yourvar)
真正测试变量是否的唯一方法是执行以下操作。请记住,undefined 是 JavaScript 中的一个对象。undefined
if (typeof someVar === 'undefined') {
// Your variable is undefined
}
此线程中的其他一些解决方案将导致您认为变量是未定义的,即使它已被定义(例如,值为 NULL 或 0)。