前言: 对呀初学JavaScript的同学来说,变量提升永远都是过不去的坎,相信我们都遇到过这种情况,看下面 问题:
var arr = []; for(var i = 0; i <= 10; i++ ){ arr[i] = function(){ 变量i是var命令声明的,在全局范围内都有效,所以全局只有一个变量i。每一次循环,变量i的值都会发生改变,而循环内被赋给数组a的函数内部的console.log(i),
var arr = []; for(let i = 0; i <= 10; i++ ){ arr[i] = function(){ } console.lg(arr[2]) //2 变量 |
|