相关疑难解决方法(0)

循环内的JavaScript闭包 - 简单实用的例子

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)

javascript closures loops

2689
推荐指数
25
解决办法
34万
查看次数

JQuery/Ajax在For循环中调用

高级程序员,

是否可以将("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)

javascript ajax jquery

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

javascript ×2

ajax ×1

closures ×1

jquery ×1

loops ×1