この関数呼び出しを考えると:
var funcs = obj.getClosures([2, 4, 6, 8], function(x) {
return x*x;
});
私は次の機能を持っています:
getClosures : function(arr, fn) {
var funcs = [];
var array = arr;
var i = 0;
var l = array.length;
(function(i, array) {
for (; i < l; i++) {
funcs[i] = function(i, array) {
return fn(array[i]);
};
}
}(i, array));
return funcs;
},
返された配列をループして、配列内の各項目の平方根値を次のように取得できるようにしたいと思います。
for (var i = 0; i < arr.length; i++) {
funcs[i]();
}
ループのたびに結果: 4, 16, 36, 64
私の funcs 配列は、関連する引数値で簡単に呼び出すことができる各インデックスに関数参照を持つべきではありませんか? どこで私は間違えましたか?