Recientemente estaba comparando la versión actual de json2.js con la versión que tenía en mi proyecto y noté una diferencia en cómo se creaba y se ejecutaba la expresión de la función.
El código utilizado para envolver una función anónima entre paréntesis y luego ejecutarla,
(function () {
// code here
})();
pero ahora envuelve la función ejecutada automáticamente entre paréntesis.
(function () {
// code here
}());
Hay un comentario de CMS en la respuesta aceptada de Explicar la sintaxis de la función anónima encapsulada de JavaScript que "ambos: (function(){})();
y (function(){}());
son válidos".
Me preguntaba cuál es la diferencia. ¿El primero toma memoria al dejar una función global y anónima? ¿Dónde debería ubicarse el paréntesis?