这是一个关于 javascript 的学术问题。
下面的代码段接受一个整数数组,并返回一个指向函数的指针数组。指向的函数假设返回数组的平方值。
如果输入是 listOfFunction = sqFnList([1,2,3,4,5])
然后listOfFunction[0]()
应该返回 1
并且 listOfFunction[1]()
应该返回 4
但事实并非如此。
function sqFnList(a){
var b = [];
for ( var i = 0; i <a.length; i++)
{
var sq = a[i] * a[i];
b[i] = function() { return sq;}
}
return b;
}
x = sqFnList([3,4,5])[0]()
问题是 x = 25。提前感谢您的帮助。