var data = ["1", "2", "3"];
// 第一种:ES6解决方式
for (let i = 0; i < data.length; i++) {
setTimeout(function () {
console.log(data[i]);
}, 2000 + i * 1000);
}
// 第二种:传统闭包解决方式
for (var i = 0; i < data.length; i++) {
(function (j) {
setTimeout(function () {
console.log(data[j]);
}, 2000 + j * 1000);
})(i);
}