¿Cuál es la diferencia entre las siguientes líneas de código?¿Cuál es la diferencia entre una expresión de función vs declaración en JavaScript?
//Function declaration
function foo() { return 5; }
//Anonymous function expression
var foo = function() { return 5; }
//Named function expression
var foo = function foo() { return 5; }
- ¿Qué es una expresión de función llamado/anónima?
- ¿Qué es una función declarada?
- ¿Cómo lidian los navegadores con estos constructos de forma diferente?
¿Qué hacen las respuestas a una pregunta similar (var functionName = function() {} vs function functionName() {}) no exactamente?
Aquí hay [un buen artículo sobre expresiones de funciones nombradas] (http://kangax.github.com/nfe). Las expresiones de función frente a las declaraciones se abordan en la primera sección. –
La principal diferencia que IMO está levantando. Aquí hay un buen artículo sobre el tema: http://www.adequatelygood.com/JavaScript-Scoping-and-Hoisting.html –