I\'m trying to run multiple timers given a variable list of items. The code looks something like this:
var list = Array(...);
for(var x in list){
setInt
So, a few things:
setInterval() maintains a reference to x rather than the snapshot value of x as it existed during each particular iteration. So, as x is changed in the loop, it's updated within each of the callback functions as well.You can pass arguments to your callback function by supplying additional arguments to setTimout():
var timeoutID = window.setTimeout(func, delay, [param1, param2, ...]);
Numbers will be passed by value rather than reference. Here's an example:
var list = [1,2,3,4];
for (var x = 0, ln = list.length; x < ln; x++) {
setTimeout(function(y) {
console.log("%d => %d", y, list[y] += 10);
}, x * 500, x); // we're passing x
}