Javascript 为什么可以';使用jQuery时,我是否可以通过窗口对象访问对象?
我试图通过窗口对象访问函数。在我的代码中,我的函数被一个字符串引用,因此我必须使用窗口对象(或eval)来获取它。我用纯JavaScript测试了我的代码,它工作得非常好。但是使用jQuery时失败了。以下是我的测试代码:Javascript 为什么可以';使用jQuery时,我是否可以通过窗口对象访问对象?,javascript,jquery,window-object,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(); } conso
function speak(words, callback){
for(var i=0;i<10000;i++){
console.log(words);
}
if(callback)
callback.call();
}
console.log(window['speak']);
函数说话(单词、回调){
对于(var i=0;i您没有声明speak
为window
的成员,JSFIDLE实际上将其包装在文档中。ready
回调
或者,您需要将您的小提琴配置为哦,我明白了。嗯。因此,任何不在文档中的函数。ready
回调都会自动声明为窗口的成员,但如果它在文档中。ready
则不是。Aust,全局范围中声明的函数和变量会隐式添加到全局对象中,在另一个函数中声明的函数和变量只在函数中存在。在编写JavaScript时,建议在闭包中编写所有代码,以避免意外的全局污染。