let arr=[1,4,5,6]
for(var i=0;i<arr.length;i++){
(function(i){
setTimeout(function(){
console.log(arr[i])
},1000*i)
})(i)
}
//加立即执行函数,异步方法变同步执行。
//如果代码中的setTimeout 方法后面的时间 1000*i 改成 1000 则是一秒内打印数组内的所有信息
for (let i = 0; i < arr.length; i++) {
setTimeout(()=> {
console.log('setTimeout: ' + arr[i])
}, 1000*i)
}
console.log('外部log: ' + i)