【发布时间】:2011-09-08 15:26:56
【问题描述】:
我正在尝试以下方法:
var timeout = 300;
var colors = ['aqua', 'limegreen']
for (var i=0; i < 4; ++i) {
console.log(colors[i % colors.length]);
setTimeout(function() { changeColor(colors[i % colors.length]) }, i * timeout);
}
function changeColor(color) {
console.log(color);
}
这不起作用,因为 changeColor 的参数在执行时已解析...这意味着颜色将始终相同。在我的 chrome 中,超时后传递参数也不起作用:
var color = colors[i % colors.length];
setTimeout(function() { changeColor() }, i * timeout, color);
好吧,我现在有一个有效的间隔解决方法......但是因为我在这里学习......如何在超时的情况下完成?
【问题讨论】:
标签: javascript parameters intervals