Jquery:.when .done函数中的范围

时间:2015-07-16 19:21:33

标签: javascript jquery

我正在试图弄清楚如何访问.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函数中的应用方式。

1 个答案:

答案 0 :(得分:0)

  

我对范围有基本的了解

好!所以,您知道what scope ishow closures workhow var works

  

...但不确定它在when函数中的应用方式。

简单:没有什么不同!是的,done回调函数为invoked asynchronously,但这并不会改变范围的工作方式。
您只是 成功获取colviews变量(如果它没有记录预期值,这意味着它在其他地方被覆盖或者从未调用回调,因为{{1}失败了。)

$.getScript没有任何魔力(实际上,在您的示例中根本不需要它,当您省略它时,您的代码的工作原理相同)。