Emplacement de parenthèse pour les auto-exécution anonyme des fonctions JavaScript?

J'ai été récemment en comparant la version actuelle de json2.js avec la version que j'avais dans mon projet et a remarqué une différence dans la façon dont l'expression de fonction a été créée et auto exécuté.

Le code utilisé pour envelopper une fonction anonyme dans la parenthèse, et puis l'exécuter,

(function () {
  //code here
})();

mais maintenant, elle enveloppe l'auto-exécution de la fonction dans la parenthèse.

(function () {
  //code here
}());

Il y a un commentaire par la CMS dans la accepté de répondre à de Expliquer JavaScript est encapsulé anonyme syntaxe de la fonction que “les deux: (function(){})(); et (function(){}()); sont valides.”

Je me demandais quelle est la différence? Le premier de prendre de la mémoire en laissant autour d'un mondial, en fonction anonyme? Où les parenthèses?

OriginalL'auteur Kevin Hakanson | 2010-08-02