La diferencia b/w declaración de la función & expresión de función está muy bien descrito en var functionName = function() {} vs function functionName() {}
En este se menciona que declaración de la función se evalúa durante análisis sintáctico-tiempo, & expresión de función se evalúa en la ejecución de la fase¿declaración de función más rápida que la expresión de la función?
En bytes.com que es mencionó que la declaración de función es más rápida que la expresión de la función.
creé un caso básico prueba para esto: http://jsperf.com/function-declaration-vs-function-expression
Declaración de función:
function myfunc() {
alert("yo");
}
myfunc();
expresión de función:
var myfunc = function() {
alert("yo");
}
myfunc();
La prueba demostró que expresión de función es 90% más lento t Declaración de función Han.
¿Por qué tanta diferencia de velocidad?
Editar:
partir de los resultados en http://jsperf.com/function-declaration-vs-function-expression
En Chrome, IE9, Opera & Safari
-> Declaración de función es más rápida que la expresión de funciones
En Firefox, IE7, IE8
-> expresión de función es más rápido que Declaración de función
En IE9 La declaración de función es más rápida, mientras que en IE 7 & 8 expresión de función es más rápido. ¿Es debido a un cambio en el motor de JavaScript en IE9, o fue este movimiento intencional?
¿Qué navegador o motor de búsqueda de JavaScript está utilizando? –
Es realmente más rápido en Firefox. –
Esos resultados son bastante interesantes, mientras que es un 90% más lento en Chrome y Opera, en realidad es más rápido en FF. Diría que no importa demasiado, porque si declaras suficientes funciones que esto se convierte en un problema, estás haciendo algo mal. – idbentley