var funcs = [];
// let's create 3 functions
for (var i = 0; i < 3; i++) {
// and store them in funcs
funcs[i] = function() {
// each should log its value.
console.log("My value: " + i);
};
}
for (var j = 0; j < 3; j++) {
// and now let's run each one to see
funcs[j]();
}Run Code Online (Sandbox Code Playgroud)
它输出这个:
我的价值:3
我的价值:3
我的价值:3
而我希望它输出:
我的价值:0
我的价值:1
我的价值:2
使用事件侦听器导致运行函数的延迟时,会出现同样的问题:
var buttons = document.getElementsByTagName("button");
// let's create 3 …Run Code Online (Sandbox Code Playgroud)高级程序员,
是否可以将("xxxxx").html(数据)放在for循环中,其中"xxxx"变量每次都会更改?
老实说,我觉得我已经尝试了一切.我正在尝试用循环ajax调用中的JSONP数据填充HTML表,其中URL每次都会更改.每次都使用相同的回调函数,但显然,我会覆盖要发送到HTML表标签的数据,因为我无法找到动态更改这些变量的方法.
基本上,我希望第一次调用回调函数来存储数据...
$("#p1_points").html(data_from_ajax_call)
Run Code Online (Sandbox Code Playgroud)
我想第二次做...
$("#p2_points").html(data_from_ajax_call)
Run Code Online (Sandbox Code Playgroud)
我已经尝试过愚蠢的事情(在for循环中)做......
$("#p" + i + "_points").html(data_from_ajax_call)
Run Code Online (Sandbox Code Playgroud)
和各种有趣的东西,但它不接受任何形式的论点...所以,任何想法?这是微不足道的,我只是过度思考和睡眠不足吗?
在此先感谢您的帮助.
更新清晰度
我的ajax电话看起来像这样......
for (var i = 0; i < thisweeksraiders.length; i++){
$.ajax({
"url":"http://us.battle.net/api/wow/character/aerie-peak/" + thisweeksraiders[i] + "?jsonp=myCallback",
"type":"GET",
"data": { fields: "items, professions, talents, progression"},
"dataType":"jsonp",
"contentType":"application/json",
"jsonpCallback":"myCallback",
"success":function(data1){
}
})
}
Run Code Online (Sandbox Code Playgroud)
我的回调函数看起来像这样......
function myCallback(data1) {
//itemscounter += 1;
var hascloak = "No";
var possupgrades = 30;
var offhandequipped = false;
var tempupgrades = 0;
var tierequipped = 0;
for (var i = 0; i …Run Code Online (Sandbox Code Playgroud)