如何检查JS中是否存在变量(完全存在)?

时间:2019-07-23 22:29:03

标签: javascript

在标记重复项之前,请先阅读问题。这与undefined变量无关。这与名称空间中不存在的变量有关。

我正在开发一个在浏览器和本机脚本中运行的代码库。两者之间的全局变量不同。例如,我想检查一下window是否存在,但是像这样:

if (!!window) {
}

将引发错误:

  

JS错误ReferenceError:找不到变量:window

是否可以测试js中是否存在变量(不仅仅是未定义的变量)?

2 个答案:

答案 0 :(得分:2)

您可以使用try/catch语句。

try {
  if (!!someVariable) {
    console.log('yep');
  }
} catch {
  console.log('nope');
}

答案 1 :(得分:0)

您需要使用typeof运算符来查看变量是否存在 您需要测试您所关注的变量是否未定义为null,例如:

if (typeof variable === 'undefined' || variable === null) {
    // variable does not exist
}
相关问题