+function () {} ();Das Plus -Zeichen hier kann auch durch andere unäre Betreiber wie!, Ersetzt werden, und der Effekt entspricht:
(function () {console.log ("foo!");}) (); // oder (function () {console.log ("foo!");} ());Ohne dieses Plus -Vorzeichen wird der Parser der Meinung, dass die Funktion der Beginn einer Funktionserklärung ist, und der nachfolgende () verursacht einen Syntaxfehler. Wenn das + Vorzeichen vor der Funktion hinzugefügt wird, wird es zum Funktionsausdruck, und wenn a () nach dem Funktionsausdruck hinzugefügt wird, wird es zu einer sofort ausgeführten Funktion.
Schauen wir uns die Funktion des Ausrufezeichens vor der JS -Funktion an:
1. JS -Funktionserklärung Formular
Funktion fna () {alert ('msg');} // Deklaration Definitionsfunktion2. JS -Funktion Expressionsform Form
var func = function (AGR1, arg2) {// Anonyme Funktionswarnung erstellen (arg1 + '' + arg2);}3.. Gemeinsame Formate für die Ausführung unmittelbar nach der Anonymen Funktionserklärung von JS
(function () { / * code * /}) ();veranschaulichen
1. Das erste Paar von Klammern, die die Funktion (function () {}) umgeben, gibt die unbenannte Funktion in das Skript zurück, und dann führt ein Paar leerer Klammern die zurückgegebene nicht genannte Funktion mit den Parametern der anonymen Funktion in den Klammern sofort aus.
2. Verwenden Sie Klammern, um den Funktionskörper zu definieren, und der Parser ruft die Definitionsfunktion in Form eines Funktionsausdrucks auf. Mit anderen Worten, jede Methode, die eine Funktion in einen Funktionsausdruck verwandeln kann, kann es dem Parser ermöglichen, die definierte Funktion korrekt aufzurufen. Und! ist einer von ihnen und + - || hat eine solche Funktion.
3. Die Funktion dieser Funktion ist hauptsächlich anonyme und automatische Ausführung.