hi a 想问一下为什么这段代码返回一个函数而不是 x 值。 提前致谢。
function f() {
function makeClosure(x) {
return function(){
return x;
};
}
var a = [];
var i;
for(i = 0; i < 3; i++) {
a[i] = makeClosure(i);
}
return a;
}
var a = f();
console.log(a[0]);
最佳答案
makeClosure
正在返回函数,因此您的数组 a
充满了函数。
a[0]
将返回函数,a[0]()
将返回 x
关于javascript - 为什么函数f中的返回值返回的是显示函数而不是x值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19508296/