循环打印i值(面试题)

/*
* 下面的代码,为了实现每隔1秒说一句话,
* 找出存在的问题,并改正,然后描述一下你的解决方案。
* */

var arr = [ '第一句话', '第二句话', '第三句话', '第四句话' ];
for( var i = 0, len = arr.length; i < len; i++ ) {
setTimeout( function() {
console.log( arr[i] );
}, 1000);
}


for( var i = 0, len = arr.length; i < len; i++ ) {
(function(i) {
setTimeout( function() {
console.log( arr[i] );
}, 1000 * (i + 1));
}(i));
}


for( var i = 0, len = arr.length; i < len; i++ ) {
setTimeout( (function(i) {
return function() {
console.log( arr[i] );
}
}(i)), 1000 * (i + 1));
}

原文地址:https://www.cnblogs.com/luxiaoxiao/p/6102975.html