闭包问题
//以下打印结果是5 var arr = [1,2,3,4,5] for(var i = 0; i < arr.length; i++){ arr[i] = function(){ alert(i) } } arr[1]() //一下打印结果是 1(使用了闭包) var arr = [1,2,3,4,5] for(var i = 0; i < arr.length; i++){ (function(index){ arr[index] = function(){ alert(index) } })(i) } arr[1]() //以下打印结果是1 (使用了es6的let块级作用域) var arr = [1,2,3,4,5] for(let i = 0; i < arr.length; i++){ arr[i] = function(){ alert(i) } } arr[1]()