Qual è la differenza tra le seguenti righe di codice?Qual è la differenza tra un'espressione di funzione e una dichiarazione in JavaScript?
//Function declaration
function foo() { return 5; }
//Anonymous function expression
var foo = function() { return 5; }
//Named function expression
var foo = function foo() { return 5; }
- Che cosa è un nome/espressione di una funzione anonima?
- Che cos'è una funzione dichiarata?
- In che modo i browser gestiscono questi costrutti in modo diverso?
Cosa non corrispondono esattamente le risposte a una domanda simile (var functionName = function() {} vs function functionName() {})?
Ecco [un buon articolo sulle espressioni di funzioni con nome] (http://kangax.github.com/nfe). Le espressioni di funzione e le dichiarazioni sono trattate nella prima sezione. –
La differenza principale IMO sta sollevando. Ecco un buon articolo sull'argomento: http://www.adequatelygood.com/JavaScript-Scoping-and-Hoisting.html –