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

Aus*_*ust 2 javascript jquery window-object

我正试图通过window对象访问一个函数.在我的代码中,我的函数被字符串引用,所以我必须使用window对象(或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']);?
Run Code Online (Sandbox Code Playgroud)

以下是纯JavaScript版本的链接.
这是jQuery版本的链接,它不起作用.

我需要做些什么才能在jQuery中使用它?

zzz*_*Bov 5

您没有声明speak为其成员window,而JSFiddle实际上将其包含在document.ready回调中.如果要在对象上使用它,则需要将代码明确设置window.speak = speak为代码的一部分window.

或者,您需要将您的小提琴配置为在没有包装器的情况下执行而不是onDomReady