vara=[];for(vari=0;i<10;i++){a[i]=function(){console.log(i);};}a[6]();//10变量泄露导致上面的a[6]变成10;我不太理解这里为什么a[6]是10,我的错误思维如下a[6]这里没有变量,所以内存泄露源于循环循环中,每次都是把当前次数赋值给对应的数组,a[0]=function(){console.log(0);};a[1]=function(){console.log(1);};......a[9]=function(){console.log(9);};再每一次赋值的时候i的值是正确的,赋值后,每个函数都是固定输出一个数字,也不存在变量3.请问我的思维错在哪里了
当年话下
至尊宝的传说
相关分类