【发布时间】:2011-04-09 23:21:11
【问题描述】:
运行以下代码:
for (var i=0; i<3; i++) {
setTimeout( function() { console.log(i); } , 500 );
}
输出“3”三次。它在创建内部函数时输出i 的最终值,而不是i 的值。
如果我希望输出为 1、2 和 3,我将如何编写这段代码?如何让它在定义函数时使用 i 的值而不是其最终值?
【问题讨论】:
标签: javascript scope closures