Recentemente stavo confrontando la versione corrente di json2.js con la versione che avevo nel mio progetto e ho notato una differenza nel modo in cui l'espressione della funzione è stata creata ed eseguita automaticamente.
Il codice utilizzato per racchiudere una funzione anonima tra parentesi e quindi eseguirla,
(function () {
// code here
})();
ma ora racchiude tra parentesi la funzione eseguita automaticamente.
(function () {
// code here
}());
C'è un commento di CMS nella risposta accettata della sintassi della funzione anonima incapsulata di Explain JavaScript che "sia: (function(){})();
che (function(){}());
sono validi".
Mi chiedevo qual è la differenza? Il primo occupa la memoria lasciando una funzione globale e anonima? Dove dovrebbe essere posizionata la parentesi?