Javascript函数返回NaN,可能是范围问题

时间:2018-09-19 14:40:33

标签: javascript

我有一段代码,尤其是一个返回函数数组的函数。问题是当我在此数组中调用函数时,结果始终为NaN,而应为有效数字。可能与范围有关?

var arr = [ Math.random(), Math.random(), Math.random(), Math.random() ];
var square = function (x) { return x * x; };


function makeSquareFns(arr, square) {
var fns = [];
for (var i = 0, l = arr.length; i < l; i++) {
    fns.push(function() {
        return square(arr[i]);
    });
}
return fns;
}

var funcs = makeSquareFns(arr, square);
console.log(funcs[0]()); // IT RETURNS NaN

0 个答案:

没有答案