jquery ajax成功回调的范围?

时间:2011-09-06 22:32:35

标签: javascript jquery ajax json jsonp

如果我有

function AjaxRequest(){
    var testvar = 0;
    for(i=0;i<d.length;i++){
        $.ajax({
            success: function(a){
                testvar++;
            }

        });
    }
}

testvar会因成功而增加吗?

2 个答案:

答案 0 :(得分:4)

是;变量由函数的闭包捕获 闭包使变量保持活动状态,以便嵌套函数以后仍可以使用它们。

请注意,success回调仅在其余代码完成后运行一段时间(AJAX是异步的)。

答案 1 :(得分:1)

是的,它会的。它与此类似:

function() {
   var self = this;
    this.a = function(){
        self.something;
    }
}