下面的代码输出多少?修改代码让fnArri 输出 i。使用两种以上的方法
var fnArr = []; for (var i = 0; i < 10; i ++) { fnArr[i] = function(){ return i; }; } console.log( fnArr[3]() ); //10实现: 方法一:
var fnArr = []; for (var i = 0; i < 10; i ++) { fnArr[i] = (function(){ var n = i; return function(){ return n; } })(); } console.log( fnArr[3]() ); //3方法二:
var fnArr = []; for (var i = 0; i < 10; i ++) { (function(n){ fnArr[i]=function(){ return n; } })(i) } console.log( fnArr[3]() ); //3方法三:
var fnArr = []; for (var i =0 ; i<10; i++){ (function(){ var n = i; fnArr[i]= function(){ return n; } })() } console.log( fnArr[3]() ); //3作者:Maggie_77 链接:https://www.jianshu.com/p/719e225962a0 来源:简书 简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。