有关var、let


 在for循环内使用,个人总结原因:

var变量提升,存在函数作用域,在异步队列中获取的是函数作用域内变量;

let无变量提升,存在块作用域,在setTimeout中每次获取的i都是存在于块作用域中,类似闭包。

ES6