首页 > 开发 > JS > 正文

js循环输出的问题

2017-09-05 05:51:33  来源:网友分享

有一个循环如图

    var _test = [    {name: "海门", value: 9},    {name: "鄂尔多斯", value: 12},    {name: "招远", value: 12},    {name: "舟山", value: 12}]for(var k = 0;k<_test.length;k++){    var m = _test[k].name;    console.log(m);    $.getJSON(url+m+'&callback=?',function(res){        console.log(m);    })    }这里我第一次打印时,是按循环输出的结果,但第二次,在请求里的打印,只会打印最后一次的结果 舟山,并打印四次,这是为什么呢?我如何在第二次打印也按循环输出结果?

解决方案

这样写就可以了 闭包

(function(m) {    $.getJSON(url + m + '&callback=?', function(res) {        console.log(m);    })})(m)