Javascript JS:循环外的变量(数组)-发生了什么?
请你纠正一下我做错的事好吗Javascript JS:循环外的变量(数组)-发生了什么?,javascript,Javascript,请你纠正一下我做错的事好吗 var ipLocations = []; // variable in question for (i = 0; i < ips.length; i++) { (function(i) { setTimeout(function() { $.getJSON(.... }; alert(ipLocations); // becoming '' here:( var ipLocations=[];//有问题
var ipLocations = []; // variable in question
for (i = 0; i < ips.length; i++) {
(function(i) {
setTimeout(function() {
$.getJSON(....
};
alert(ipLocations); // becoming '' here:(
var ipLocations=[];//有问题的变量
对于(i=0;i
为什么ipLocations在这里?for循环中的代码是非阻塞代码……这意味着您的警报将在
getJSON
和setTimeout
回调填充ipLocations
之前发出
您可以通过使用或回调函数来修复它,该函数将检查所有请求是否已完成,如果已完成,则显示警报。嘿…别那么刻薄…告诉什么是错的??什么是错的??