分别输出数字 1~5,每秒一次,每次一个
for (var i=1; i<=5; i++) {
(function() {
var j = i;
setTimeout( function timer() {
console.log( j );
}, j*1000 );
})();
}
//上面两部分代码实现了同一功能
for (var i=1; i<=5; i++) {
(function(j) {
setTimeout( function timer() {
console.log( j );
}, j*1000 );
})( i );
}
题外话:块作用域下,更加简单的实现方法
for (var i=1; i<=5; i++) {
let j = i; // 是的,闭包的块作用域!
setTimeout( function timer() {
console.log( j );
}, j*1000 );
}
//或者更简单如下
for(let i=1; i<=5; i++) {
setTimeout( function timer() {
console.log(i);
},i*1000);
}
&spm=1001.2101.3001.5002&articleId=102682254&d=1&t=3&u=3e58b6b2489e486eb7a0257b0a6e7de3)
367

被折叠的 条评论
为什么被折叠?



