JavaScript-Funktiondefinition
- Vorherige Seite JS-Objekt-Referenz
- Nächste Seite JS-Function-Parameter
Kursempfehlung: function
JavaScript-Funktionen werden durchSchlüsselwortdefinieren.
können Sie FunktionenDeklarationoder FunktionAusdruck。
Funktionserklärung
In diesem Tutorial haben Sie früher gelernt, durch die folgende SyntaxDeklarationFunktion:
function Funktionsname(Parameter) { Auszuführendes Code }
Funktionen, die deklariert wurden, werden nicht direkt ausgeführt. Sie werden "zur späteren Verwendung gespeichert" und werden später ausgeführt, wenn sie aufgerufen werden.
Beispiel
function myFunction(a, b) { return a * b; }
Das Semikolon wird verwendet, um ausführbare JavaScript-Anweisungen zu trennen.
Da FunktionenDeklarationsind nicht ausführbare Anweisungen und enden selten mit einem Semikolon.
Funktionsausdrücke
JavaScript-Funktionen können auchAusdruckdefiniert.
Funktionsausdrücke können in Variablen gespeichert werden:
Beispiel
var x = function(a, b) {return a * b};
Nachdem die Funktionsausdrücke in einer Variablen gespeichert wurden, kann diese Variable als Funktion verwendet werden:
Beispiel
var x = function(a, b) {return a * b}; var z = x(4, 3);
Die obige Funktion ist tatsächlich eineAnonyme Funktionen(namelose Funktionen)。
Funktionen, die in Variablen gespeichert sind, benötigen keinen Funktionsnamen. Sie werden immer mit dem Variablennamen aufgerufen.
Die obige Funktion endet mit einem Semikolon, weil sie ein Teil eines ausführbaren Statements ist.
Function() Konstruktor
Wie Sie in den vorherigen Beispielen gesehen haben, werden JavaScript-Funktionen durch function
Schlüsselwort definiert werden.
Funktionen können auch durch ein benanntes Function()
integrierten JavaScript-Funktionskonstruktors verwenden, um definiert zu werden.
Beispiel
var myFunction = new Function("a", "b", "return a * b"); var x = myFunction(4, 3);
Sie müssen tatsächlich den Funktionskonstruktor nicht verwenden. Der obige Beispiel kann auch so geschrieben werden:
Beispiel
var myFunction = function (a, b) {return a * b}; var x = myFunction(4, 3);
In den meisten Fällen können Sie das Verwenden des new
Schlüsselwort.
Funktionshoisting
In diesem Tutorial haben Sie bereits gelernt, "Hoisting" (hoisting).
Hoisting ist das, was JavaScript tutDeklarationStandardverhalten, das Variablen- und Funktionsdeklarationen an die Oberseite des aktuellen Bereichs verschiebt.
Hoisting wird auf Variablendeklarationen und Funktionsdeklarationen angewendet.
Daher können JavaScript-Funktionen vor ihrer Deklaration aufgerufen werden:
myFunction(5); function myFunction(y) { return y * y; }
Funktionen, die durch Ausdrücke definiert werden, werden nicht nach oben gehoben.
Selbstaufrufende Funktionen
Funktionsausdrücke können als "selbstaufrufend" verwendet werden.
Selbstaufrufende Ausdrücke werden automatisch aufgerufen (gestartet), ohne dass eine explizite Aufrufung erforderlich ist.
Funktionsausdrücke werden automatisch ausgeführt, wenn sie von einem ()
。
Sie können keine Funktionsdeklaration selbstaufrufen.
Sie müssen Klammern um die Funktion hinzufügen, um anzuzeigen, dass es sich um eine Funktionsausdrucksform handelt:
Beispiel
(function () { var x = "Hello!!"; // Ich rufe mich selbst auf }();
Die obige Funktion ist tatsächlich eineAnonyme selbstaufrufende Funktionen(namelose Funktionen)。
Funktionen können als Werte verwendet werden
JavaScript-Funktionen können als Werte verwendet werden:
Beispiel
function myFunction(a, b) { return a * b; } var x = myFunction(4, 3);
JavaScript-Funktionen können in Ausdrücken verwendet werden:
Beispiel
function myFunction(a, b) { return a * b; } var x = myFunction(4, 3) * 2;
Funktionen sind Objekte
in JavaScript typeof
Der Operator gibt für die Funktion "function
"。
Aber es ist besser, JavaScript-Funktionen als Objekte zu beschreiben.
Jede JavaScript-Funktion hatEigenschaftundMethode。
arguments.length
Gibt die Anzahl der Parameter zurück, die die Funktion bei ihrem Aufruf erhält:
Beispiel
function myFunction(a, b) { return arguments.length; }
toString()
Die Methode gibt als String die Funktion zurück:
Beispiel
function myFunction(a, b) { return a * b; } var txt = myFunction.toString();
Funktionen, die als Objektattribute definiert sind, werden als Objektmethoden bezeichnet.
Funktionen, die zum Erstellen neuer Objekte entwickelt wurden, werden als Objekt-Konstruktoren (Objekt-Konstruktoren) bezeichnet.
Pfeilfunktionen
Pfeilfunktionen erlauben die Verwendung einer kurzen Syntax zum Schreiben von Funktionsausdrücken.
Sie benötigen kein Schlüsselwort 'function', kein Schlüsselwort 'return' und keine Klammern.
Beispiel
// ES5 var x = function(x, y) { return x * y; } // ES6 const x = (x, y) => x * y;
Pfeilfunktionen haben kein eigenes 'this'. Sie sind nicht geeignet, Objektmethoden zu definieren.
Pfeilfunktionen werden nicht aufgerufen. Sie müssen vor ihrer Verwendung definiert werden.
Die Verwendung von 'const' ist sicherer als die Verwendung von 'var', da die Funktionsausdrücke immer konstanten Wert sind.
Wenn die Funktion eine einzige Anweisung ist, kann der Schlüsselwort 'return' und die Klammern weggelassen werden. Daher kann es eine gute Gewohnheit sein, sie beizubehalten:
Beispiel
const x = (x, y) => { return x * y };
IE11 oder frühere Versionen unterstützen keine Pfeilfunktionen.
- Vorherige Seite JS-Objekt-Referenz
- Nächste Seite JS-Function-Parameter