[quote=jsuse]Да, так передает. Но он прекрасно передает и так:
function sayHi(who) {
alert("Привет, я " + who);
}
setTimeout(sayHi("Вася"), 1000); // Привет, я Вася
разжую:
дело в том что 'Вася' передает не функция
setTimeout, а человек написавший скрипт.
setTimeout, например, мог бы передавать свой айдишник, или время вызова и время старта, то есть если написать в нем
setTimeout( function(a){} ,2000), то в
a он мог бы что-то засовывать. какую то служебную информацию. но он этого не делает.
То есть вызывая функцию, он бы передавал в неё что-то. Какую-то свою инфу. Но он этого не делает.