Heim  >  Artikel  >  Web-Frontend  >  So rufen Sie js function_basic auf

So rufen Sie js function_basic auf

WBOY
WBOYOriginal
2016-05-16 16:49:441135Durchsuche

Die Möglichkeiten, Js-Funktionen aufzurufen, sind wie folgt:

(1) Die benannte Funktion ruft direkt

Code kopieren auf. Der Code lautet wie folgt:

Funktion foo()
{
}
foo();

(2) Die anonyme Funktion wird durch Referenz aufgerufen

Code kopieren Der Code lautet wie folgt:

fooRef = function()
{
}
fooRef();

(3) Anonymer Funktionsaufruf ohne Referenz 1

Code kopieren Der Code lautet wie folgt:

(function()
{
}());

(4) Anonymer Funktionsaufruf ohne Referenz 2

Code kopieren Der Code lautet wie folgt:

(function()
{
})();

(5) Anonymer Funktionsaufruf ohne Referenz 3

Code kopieren Der Code lautet wie folgt:

void function()
{

}();


So rufen Sie js function_basic auf

Abbildung 1.1 und Abbildung 1.2 zeigen, dass die Operationsprozesse dieser beiden Ausdrücke unterschiedlich sind. In Abbildung 1.1 wird der Zwangsoperator zum Ausführen der Funktionsaufrufoperation verwendet, während in Abbildung 1.2 der Zwangsoperator zum Ausführen von „ verwendet wird. Funktion direkt „Menge deklariert“ diesen Ausdruck und gibt einen Verweis auf die Funktion selbst zurück und betreibt dann den Funktionsverweis über die Funktionsaufrufoperation „()“. Der letzte anonyme Funktionsaufruf void function(){}(); wird verwendet, um die Funktion aufzurufen und den Rückgabewert zu ignorieren. Der Operator void wird verwendet, um den nachfolgenden Funktionsausdruck zu veranlassen, Operationen auszuführen. Wenn wir nicht „void“ und die Zwangsoperation „()“ verwenden, kann der Code ausgeführt werden:

(1)function(){}() //Verwenden Sie „()“, um den Aufruf zu erzwingen

(2)function(){}(); //Verwenden Sie „;“, um Anweisungen auszuführen

Die Skript-Engine geht davon aus, dass function(){} eine Funktionsdeklaration ist, wodurch die Syntaxerkennung fehlschlägt und der Code wie folgt analysiert wird:

function(){};();

function(){} wird als Anweisung interpretiert, während „();“ als separate Zeile interpretiert wird, sodass ein Syntaxfehler gemeldet wird. Warum wissen Sie, dass der Fehler durch „();“ verursacht wird? ? Wir ändern es in den folgenden Code:

function(){}(1);

Dies wird von der Engine wie folgt interpretiert:

fucntion(){};

(1); //Einzelwertausdruck

Die Grammatikprüfung ist also bestanden...

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn