javascript - 为什么使用 jQuery 时无法通过 window 对象访问对象?

标签 javascript jquery window-object

我正在尝试通过窗口对象访问函数。在我的代码中,我的函数由字符串引用,因此我必须使用窗口对象(或 eval)来获取它。我用纯 JavaScript 测试了我的代码,它运行得很好。但是当使用 jQuery 时却失败了。这是我的测试代码:

function speak(words, callback){
  for(var i=0;i<10000;i++){
      console.log(words);
  }
  if(callback)
    callback.call();
}

console.log(window['speak']);​

Here is a link to the pure JavaScript version which works.
Here is a link to the jQuery version which doesn't work.

我需要做什么才能在 jQuery 中实现此功能?

最佳答案

您没有将 speak 声明为 window 的成员,JSFiddle 实际上将其包装在 document.ready 回调中。 You'll need to explicitly set window.speak = speak as part of your code if you want it available on the window object .

或者,您需要将 fiddle 配置为 execute without a wrapper rather than onDomReady

关于javascript - 为什么使用 jQuery 时无法通过 window 对象访问对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12464749/

相关文章:

javascript - 有没有办法将 IndexedDB 记录设为 "watch",以便我可以在更改时做出响应?

javascript - 将时间输入设置为数据库中的日期时间

Javascript 窗口对象,从 namespace 数组构建函数调用

javascript - 为动态 url 设置 noopener

javascript - 如何计算jQuery中元素的高度?

javascript - 如何设置文本 product-template.liquid 的样式并根据文本长度放置一个椭圆形 Shopify

javascript - 表达静态nodejs

javascript - 如何使用 jQuery/JavaScript 禁用点击?

javascript - 为什么向服务器提交对象数据时需要调用JSON.stringify?