关于JavaScript:JavaScript – 检查变量是否存在

JavaScript - Check to see if variable exists

本问题已经有最佳答案,请猛点这里访问。

我有一个名为index.js的javascript文件。此javascript文件提供与index.html关联的过程代码。我的index.html文件非常基本。如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!DOCTYPE html>
<html>
    <body>
        <script type="text/javascript" src="index.js">
        <script type="text/javascript">
@if (ViewBag.IsGood()) {
  <text>
            INFORMATION = { version: '<%= version%>', timestamp: '<%= timestamp%>' };
  </text>
}
          runInit();
       
    </body>
</html>

在index.html.js文件中,我有以下内容

1
2
3
4
5
6
7
function runInit() {
  if (INFORMATION === undefined) {
    INFORMATION = { version: 'Unknown' };
  }

  // Keep going
}

正如您所看到的,有时信息会被设置。有时,不是这样的。当信息被设置时,一切都会工作。如果没有设置,我会收到一个错误,上面写着"referenceerror:can't find variable:information"。我对此感到困惑,因为我想我正在检查该属性是否正确存在。显然,我不是。

在JavaScript中,如何确保变量存在?这是我最大的担心。我不想重新安排我的代码。我真的很想这样做。我觉得我做得很对。但是,我仍然有一个错误。

谢谢。


您可以使用typeof操作符:

像这样

1
typeof foo; //returns"undefined";

所以要检查是否有未定义的内容

1
2
3
if(typeof INFORMATION==="undefined"){
    INFORMATION={version:"Unknown"};
}