JQuery/Javascript:检查 var 是否存在

新手上路,请多包涵

可能重复:

如何检查变量是否在 JavaScript 中定义?

在 JavaScript 中是否有标准函数来检查 null、undefined 或空白变量?

我有一个分为两部分的脚本。

第一部分设置一个 var:

 var pagetype = "textpage";

第二部分是一个简单的 if 语句:

 if(pagetype == "textpage") {
//do something
};

现在,第二部分,即 if 语句,出现在我网站的所有页面上。但是第一部分,也就是声明 var 的地方,只出现在我的一些页面上。

在没有 var 的页面上我自然会得到这个错误:

 Uncaught ReferenceError: pagetype is not defined

所以我的问题是:有没有办法用 JavaScript 或 JQ 来检测一个 var 是否存在(而不仅仅是它是否有分配给它的数据)?

我想我会使用另一个 if 语句,例如:

 if ("a var called pagetypes exists")....

原文由 MeltingDog 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 371
2 个回答

我怀疑在 SO 上有很多这样的答案,但是你去吧:

 if ( typeof pagetype !== 'undefined' && pagetype == 'textpage' ) {
  ...
}

原文由 elclanrs 发布,翻译遵循 CC BY-SA 3.0 许可协议

您可以使用 typeof

 if (typeof pagetype === 'undefined') {
    // pagetype doesn't exist
}

原文由 Blender 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题