es6动态定义方法并执行?

var arr = [];
for(let i=0;i<10;i++) {
    arr[i]=function(){
        console.log(i);
    }
}
arr[6]();//输出6
var arr = [];
for(var i=0;i<10;i++) {
    arr[i]=function(){
        console.log(i);
    }
}
arr[6](); //var声明的i是全局变量,所以i=10,输出10

这种直接动态定义方法并执行的是什么语法规则???

猜你喜欢

转载自www.cnblogs.com/imbasaber/p/9376771.html