JavaScript - 检查变量是否存在

5

我有一个名为index.js的JavaScript文件。这个JavaScript文件提供了与index.html相关的过程性代码。我的index.html文件非常基础,看起来如下:

<!DOCTYPE html>
<html>
    <body>
        <script type="text/javascript" src="index.js"></script>
        <script type="text/javascript">
@if (ViewBag.IsGood()) {
  <text>
            INFORMATION = { version: '<%= version%>', timestamp: '<%= timestamp%>' };
  </text>
}
          runInit();
        </script>
    </body>
</html>

在我的index.html.js文件中,我有如下内容。
function runInit() {
  if (INFORMATION === undefined) {
    INFORMATION = { version: 'Unknown' };
  }

  // Keep going 
}

如您所见,有时INFORMATION被设置,有时则没有。当INFORMATION被设置时,一切正常运行。但当它未被设置时,我会收到一个错误信息,内容为“ReferenceError: Can't find variable: INFORMATION”。我感到困惑,因为我认为我正确地检查了属性是否存在。但显然,我没有。

在JavaScript中,如何确保变量存在是我的主要关注点。我不想重新排列我的代码。我真的想用这种方式做。我觉得我做得很正确。但是,我仍然在收到错误信息。

谢谢。


你应该在哪里引用 index.html.js 文件?确定在你的 HTML 中 src="index.html" 不会出错吗? - ComFreek
if (typeof(INFORMATION)=='undefined') - CrayonViolent
@ComFreek - 已修复。抱歉。 - user2871401
1个回答

9
你可以使用 typeof 操作符
像这样:
typeof foo; //returns "undefined";

检查某个值是否为undefined

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接