Ich habe kürzlich die aktuelle Version von json2.js mit der Version in meinem Projekt verglichen und festgestellt, dass der Funktionsausdruck anders erstellt und selbst ausgeführt wurde.
Der Code, mit dem eine anonyme Funktion in Klammern eingeschlossen und dann ausgeführt wird.
(function () {
// code here
})();
Jetzt wird die automatisch ausgeführte Funktion in Klammern gesetzt.
(function () {
// code here
}());
In der akzeptierten Antwort von Explain JavaScript's gekapselter anonymer Funktionssyntax gibt es einen Kommentar von CMS , der "beides: (function(){})();
und (function(){}());
gültig" lautet .
Ich habe mich gefragt, was der Unterschied ist. Nimmt der erstere Speicher auf, indem er eine globale, anonyme Funktion verlässt? Wo soll sich die Klammer befinden?