1: for 循环迭代 var 定义不会不是每个迭代的函数会封闭一个 新的 i
var funcs = [];
for (let i = 0; i < 5; i++) {
funcs.push( function(){
console.log( i );
} );
}
funcs[3](); //3
var funcs = [];
for (var i = 0; i < 5; i++) {
funcs.push( function(){
console.log( i );
} );
}
funcs[3](); // 5