Javascript - 使用父函数参数返回函数的函数

时间:2018-05-11 01:09:55

标签: javascript

我正在执行以下的javascript代码:

var distances = [2,3];
var ids = 0

 for (var i=0; i < sub.length; i++) {
        url = // some value 
        dis = distances[i+ids];
        jsonGET(url,[],test(data,dis));
      }

 function test(data,dist)  {
  return function() {
   console.log(dist);
   }
  }

在for循环中(由于sub.length = 2,迭代2次),调用jsonGET函数,在成功连接到给定url的情况下执行 test 函数。

dis 值传递给jsonGET调用中的测试函数。

逻辑上,console.log(dist)应该显示值2然后3.它实际上在我在return语句之前写入ir时。 但是当我编写console.log(dist)时,如上面的代码所示。我得到了这个非常奇怪的展示

enter image description here

代码每30秒刷新一次,似乎它在(2,3)(这是逻辑结果)和反转的(3,2)之间随机交替。

我被困在这里,需要解释。

0 个答案:

没有答案