function test(){ var arr = []; for(var i = 0;i < 10;i++){ arr[i] = function(){ return i; }; } for(var a = 0;a < 10;a++){ console.log(arr[a]()); }}test(); // 连续打印 10 个 10为什么把上面第三行代码的 var i = 0 改为 let i = 0 后,调用 test() ,就会打印 1到9 了呢?javascript 闭包是如何处理父函数中 let 形成的块级作用域中的变量呢?
添加回答
举报
0/150
提交
取消