Was bewirkt, dass beim Übergeben eines Strings an setTimeout die Funktion nicht definiert wird?

var my_new_function = function(){
----
};
window.setTimeout(my_new_function, 1600);

das oben Genannte funktioniert einwandfrei ohne Fehler.

wenn ich benutze:

window.setTimeout("my_new_function()", 1600);

Es funktioniert ordnungsgemäß, aber der Firebug zeigt einen Fehler an:

my_new_function ist nicht definiert

in einigen Artikeln über setTimeout fand ich aufrufende Funktionen wie in der 1. Methode, und in einigen anderen Artikeln sah ich die andere Methode.

as ist richtiger? und warum zeigt firebug so einen fehler an?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage