理解功能关闭练习中额外功能的需要

时间:2014-09-13 22:37:34

标签: javascript function closures

这是来自"面向对象的javascript"在关于闭包的部分中。我无法理解用于"返回x;"的突出显示的额外功能的需要。尝试使用return x;直接来自接受参数x的函数它并没有起作用,但我无法理解为什么它能使它工作。 感谢

function F() {
  var arr = [], i;
  for (i = 0; i < 3; i++) {
    arr[i] = (function (x) {
      **return function ()** {
        return x;
      };
    }(i));
  }
  return arr;
}


> var arr = F();
> arr[0]();
0
> arr[1]();
1
> arr[2]();
2

0 个答案:

没有答案