Возник вопрос по поводу преодоления ограничения глубины стека в JS. Накидал вот такой вот код
i=0
tst=function(){i++; try{tst()}catch(e){console.log("recursion: "+i)}}
tst()
i=0
f=function(){tst()}
tst=function(){if(i===30000) return console.log("setTimeout: "+i); i++; setTimeout(f)}
tst()
/*в ноде
11434
30000
*/
Протестировал на ff ноде и хроме. на ff и ноде нормально отрабатывает, за пару десятков секунд примерно. А в хроме - заметно дольше, дольше, раз в 10, как минимум. Второй тест имеется в виду. С чего бы это? Разве движки у него с нодой не одинаковые?
Кстати, если у кого есть ie под рукой, протестируйте, если не трудно.