为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript中通过闭包解决只能取得包含函数中任何变量最后一个值的问题

/ 猿问

JavaScript中通过闭包解决只能取得包含函数中任何变量最后一个值的问题

慕婉清1013287 2020-04-05 18:50:33
按值传参,调用此匿名函数返回内部匿名函数,按值传递参数,返回arr[i]数组,值传参,创建新数组,怎么解决这个问题

function createArray() { 

            var arr = new Array(); 

            for (var i = 0; i < 10; i++) { 

                arr[i] = function (num) { 

                    return function () { 

                        return num; 

                    } 

                } (i)

            }return arr;

             var funcs = createArray(); 

            for (var i = 0; i < funcs.length; i++) {

                document.write(funcs[i]() + "<br />"); 

            }

        }


查看完整描述

1 回答

已采纳
?
莲_蓶濏__
// 没听明白你想说什么 改一下你发的代码
function createArray() {
var arr = new Array();
for (var i = 0; i < 10; i++) {
arr[i] = function (num) {
return function () {
return num;
};
}(i);
}
return arr;
}
var funcs = createArray();
for (var i = 0; i < funcs.length; i++) {
document.write(funcs[i]() + "<br />");
}
查看完整回答
反对 2020-04-05

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信