好吧,我完全困惑。我敢肯定,這是一個範圍或一個封閉的事情,但可能有人解釋爲什麼jQuery AJAX請求中的變量範圍?
$(document).ready(function() {
var test = 0;
var whatev = [1,2,3,4,5];
$.each(whatev, function(i, v) {
test += 1;
});
alert(test);
});
警報「5」和
$(document).ready(function() {
var test = 0;
var whatev = [1,2,3,4,5];
$.each(whatev, function(i, v) {
$.ajax('http://example.com/').done(function(data) {
test += 1;
});
});
alert(test);
});
警報0?爲什麼$.each
調用中的匿名函數有權訪問測試,但ajax調用的匿名函數沒有?匿名函數在哪裏被定義?
每個等待是採用同步,也就是說Ajax調用是異步 – epascarello
'$阿賈克斯( 'http://example.com/')'是異步的。 –
@epascarello:AHHHH,對......有人沒有足夠的咖啡。 – Andrew