¿Qué causa "la función no está definida" al pasar una cadena a setTimeout?

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

Lo anterior funciona correctamente sin ningún error.

cuando uso:

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

funciona correctamente, pero firebug muestra un error:

my_new_function no está definido

en algunos artículos sobre setTimeout, encontré funciones de llamada como en el primer método, y en algunos otros artículos, vi el otro método.

cual es mas correcto ¿Y por qué Firebug muestra tal error?

Respuestas a la pregunta(3)

Su respuesta a la pregunta