在for循环内使用,个人总结原因:
var变量提升,存在函数作用域,在异步队列中获取的是函数作用域内变量;
let无变量提升,存在块作用域,在setTimeout中每次获取的i都是存在于块作用域中,类似闭包。