vararr=[];for(**var**i=0;i<10;i++){arr[i]=function(){returni;};}for(varj=0;jconsole.log(arr[j]()+""); }//10个10var和let的区别在哪呢,为什么声明不一样就会变成不一样的结果呢?还有第一个函数为什么i最后都等于10了?i这里是局部变量还是全局变量呢?局部变量不应该for循环完就自动被GC了吗还是说第一个函数存在闭包所以保留了对i的引用,所以i不会被GC了vararr=[];for(**let**i=0;i<10;i++){arr[i]=function(){console.log(i);};}for(varj=0;jconsole.log(arr[j]()); }//0-9
慕雪6442864
LEATH
相关分类