Вы можете использовать замыкание :
var slider = [];
for (i = 1; i < 5; i++) {
slider[i] = (function (i) {
return function () { alert([i]); }
})(i);
dojo.addOnLoad(slider[i]);
}
Это сохранит i
в другой области функций, сохраняя состояние. Без замыкания i
ограничено исходной функцией.