我正在试图弄清楚如何访问.when.done函数中的变量。这是一个例子:
var colviews = {
1: true,
2: true,
3: false
}
$.when( // run only -when- these script get loaded
$.getScript( "/mckinney_images/jquery.tablesorter.all.js" )).done(function(){
$(function(){
console.log(colviews); // How do I get the colviews variable here?
});
});
我对范围有基本的了解,但不确定它在when函数中的应用方式。
答案 0 :(得分:0)
我对范围有基本的了解
好!所以,您知道what scope is,how closures work和how var
works。
...但不确定它在when函数中的应用方式。
简单:没有什么不同!是的,done
回调函数为invoked asynchronously,但这并不会改变范围的工作方式。
您只是 成功获取colviews
变量(如果它没有记录预期值,这意味着它在其他地方被覆盖或者从未调用回调,因为{{1}失败了。)
$.getScript
没有任何魔力(实际上,在您的示例中根本不需要它,当您省略它时,您的代码的工作原理相同)。