valera_k,
вы вызов функции обернули в кавычки
'test2('+i+')'
скрипт воспринимает 'test2()' как строку.
function test(){
var timeout;
for (var i = 1; i <= 10; i++) {
timeout = setInterval(test2(i), 1000);
}
}
function test2(i){
alert(i);
i++;
}
test();
http://jsfiddle.net/VaAlina/wy8X9/262/
Там будет 10 alert-ов.