我有一个名为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
}
如您所见,有时会设置信息。有时,它没有。设置信息时一切正常。如果未设置,则会收到错误消息“ReferenceError:找不到变量:INFORMATION”。我对此感到困惑,因为我认为我正在检查该属性是否存在正确。显然,我不是。
在JavaScript中,我如何确保变量存在?这是我最关心的问题。我不想重新安排我的代码。我真的想这样做。我觉得我做得对。但是,我仍然收到错误。
感谢。
答案 0 :(得分:9)
您可以使用typeof
operator:
所以喜欢这个
typeof foo; //returns "undefined";
以便检查某些内容是否未定义
if(typeof INFORMATION==="undefined"){
INFORMATION={version:"Unknown"};
}