O que causa "a função não está definida" ao passar uma string para setTimeout?

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

o acima funciona corretamente sem erros.

quando eu uso:

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

está funcionando corretamente, mas o firebug está mostrando um erro:

my_new_function não está definido

em alguns artigos sobre setTimeout, encontrei funções de chamada como no 1º método e, em alguns outros artigos, vi o outro método.

qual é mais correto? e por que o firebug está mostrando esse erro?

questionAnswers(3)

yourAnswerToTheQuestion