【问题标题】:How to detect when jQuery global variable is ready?如何检测 jQuery 全局变量何时准备就绪?
【发布时间】:2013-01-09 22:59:31
【问题描述】:

我尝试使用以下方法进行操作。但是,由于尚未定义 jQuery,我得到了一个 -

ReferenceError: jQuery 未定义

来自 Firefox。

我希望它是未定义且可测试的,不会产生错误。

如果我定义一个像 var jQuery 这样的虚拟变量,那么当我使用 jQuery 时,由于范围查找规则,我将始终使用那个空白变量。

如何检测 jQuery 全局变量何时准备就绪?

    // ... snip

    if (jQuery) { // not defined - I guess different from undefined - always errors

    // ...snip

【问题讨论】:

  • 检查window中的jQuery。
  • 我已经回滚了上一次编辑,因为它使问题变得非常难以理解,而且我无法看到 ThiefMaster 是如何得到他从中得出的答案的。

标签: javascript jquery


【解决方案1】:
if(window.jQuery !== undefined)

if(typeof jQuery !== 'undefined')

但是,在我看来,第一个版本更具可读性,并且在浏览器环境中 window 是全局对象,因此 window.X 几乎等同于全局 X - 除了尝试访问未定义的window.X 不会抛出错误。

【讨论】:

  • 有趣的是,您可以在 typeof 下进行操作而不会出现参考错误!
  • 是的,但是当您查看规范时非常简单:es5.github.com/#x11.4.3 - 如果 IsUnresolvableReference(val) 为真,则返回 "undefined"
猜你喜欢
  • 1970-01-01
  • 2012-02-15
  • 2016-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多