JavaScript-Funktionsdefinitionen

JavaScript-Funktionen werden mit dem Schlüsselwortfunction definiert.

Sie können eine Funktionsdeklaration oder einen Funktionsausdruck verwenden.

Funktionsdeklarationen

Zu Beginn dieses Lernprogramms haben Sie gelernt, dass Funktionen mit der folgenden Syntax deklariert werden:

function functionName(parameters) {
// auszuführender Code
}

Deklarierte Funktionen werden nicht sofort ausgeführt. Sie werden „zur späteren Verwendung gespeichert“ und werden später ausgeführt, wenn sie aufgerufen werden.

Beispiel

Funktion myFunction(a, b) {
Rückgabe a * b;
}

Probieren Sie es selbst aus “

Semikolons werden verwendet, um ausführbare JavaScript-Anweisungen zu trennen.
Da eine Funktionsdeklaration keine ausführbare Anweisung ist, ist es nicht üblich, sie mit einem Semikolon zu beenden.

Funktionsausdrücke

Eine JavaScript-Funktion kann auch mit einem Ausdruck definiert werden.

Ein Funktionsausdruck kann in einer Variablen gespeichert werden:

Beispiel

var x = Funktion (a, b) {return a * b};

Probieren Sie es selbst aus “

Nachdem ein Funktionsausdruck in einer Variablen gespeichert wurde, kann die Variable als Funktion verwendet werden:

Beispiel

var x = function (a, b) {return a * b};
var z = x(4, 3);

Probieren Sie es selbst aus “

Die obige Funktion ist eigentlich eine anonyme Funktion (eine Funktion ohne Namen).

In Variablen gespeicherte Funktionen benötigen keine Funktionsnamen. Sie werden immer unter Verwendung des Variablennamens aufgerufen (aufgerufen).

Die obige Funktion endet mit einem Semikolon, da sie Teil einer ausführbaren Anweisung ist.

Der Function() -Konstruktor

Wie Sie in den vorherigen Beispielen gesehen haben, werden JavaScript-Funktionen mit dem Schlüsselwort function definiert.

Funktionen können auch mit einem integrierten JavaScript-Funktionskonstruktor namens Function() definiert werden.

Beispiel

var myFunction = neue Funktion(„a“, „b“, „return a * b“);
var x = myFunction(4, 3);

Probieren Sie es selbst aus “

Sie müssen den Funktionskonstruktor eigentlich nicht verwenden. Das obige Beispiel ist das gleiche wie das Schreiben:

Beispiel

var myFunction = function (a, b) {return a * b};
var x = myFunction(4, 3);

Probieren Sie es selbst aus “

In den meisten Fällen können Sie die Verwendung des Schlüsselworts new in JavaScript vermeiden.

Function Hoisting

Zu Beginn dieses Tutorials haben Sie etwas über „Hoisting“ (JavaScript Hoisting) gelernt.

Hoisting ist das Standardverhalten von JavaScript, Deklarationen an den Anfang des aktuellen Bereichs zu verschieben.

Hoisting gilt für Variablendeklarationen und Funktionsdeklarationen.

Aus diesem Grund können JavaScript-Funktionen aufgerufen werden, bevor sie deklariert werden:

myFunction(5);
Funktion myFunction(y) {
Rückgabe y * y;
}

Mit einem Ausdruck definierte Funktionen werden nicht angehoben.

Selbstaufrufende Funktionen

Funktionsausdrücke können „selbstaufrufend“ gemacht werden.

Ein selbstaufrufender Ausdruck wird automatisch aufgerufen (gestartet), ohne aufgerufen zu werden.

Funktionsausdrücke werden automatisch ausgeführt, wenn dem Ausdruck () folgt.

Sie können eine Funktionsdeklaration nicht selbst aufrufen.

Sie müssen Klammern um die Funktion hinzufügen, um anzuzeigen, dass es sich um einen Funktionsausdruck handelt:

Beispiel

(function () {
var x = „Hallo!!“; // Ich werde mich selbst anrufen
})();

Probieren Sie es selbst aus “

Die obige Funktion ist eigentlich eine anonyme selbstaufrufende Funktion (Funktion ohne Namen).

Funktionen können als Werte verwendet werden

JavaScript-Funktionen können als Werte verwendet werden:

Beispiel

Funktion myFunction(a, b) {
return a * b;
}
var x = myFunction(4, 3);

Probieren Sie es selbst aus “

JavaScript-Funktionen können in Ausdrücken verwendet werden:

Beispiel

Funktion myFunction(a, b) {
return a * b;
}
var x = myFunction(4, 3) * 2;

Probieren Sie es selbst aus “

Funktionen sind Objekte

Der Operator typeof in JavaScript gibt „function“ für Funktionen zurück.

JavaScript-Funktionen können jedoch am besten als Objekte beschrieben werden.

JavaScript-Funktionen haben sowohl Eigenschaften als auch Methoden.

Die Eigenschaft arguments.length gibt die Anzahl der Argumente zurück, die beim Aufruf der Funktion empfangen wurden:

Beispiel

Funktion myFunction(a, b) {
Argumente zurückgeben.length;
}

Probieren Sie es selbst aus “

Die toString() -Methode gibt die Funktion als String zurück:

Beispiel

Funktion myFunction(a, b) {
return a * b;
}
var txt = myFunction.toString();

Probieren Sie es selbst aus “

Eine Funktion, die als Eigenschaft eines Objekts definiert ist, wird als Methode für das Objekt bezeichnet.
Eine Funktion zum Erstellen neuer Objekte wird als Objektkonstruktor bezeichnet.

Pfeilfunktionen

Pfeilfunktionen ermöglicht eine kurze Syntax zum Schreiben von Funktionsausdrücken.

Sie benötigen nicht das Schlüsselwort function, das Schlüsselwort return und die geschweiften Klammern.

Beispiel

// ES5
var x = function(x, y) {
return x * y;
}
// ES6
const x = (x, y) => x * y;

Probieren Sie es selbst aus “

Pfeilfunktionen haben keine eigenen this.Sie eignen sich nicht gut zum Definieren von Objektmethoden.

Pfeilfunktionen werden nicht angehoben. Sie müssen definiert werden, bevor sie verwendet werden.

Die Verwendung von constist sicherer als die Verwendung von var, da ein Funktionsausdruck immer ein konstanter Wert ist.

Sie können das Schlüsselwort return und die geschweiften Klammern nur weglassen, wenn die Funktion eine einzelne Anweisung ist. Aus diesem Grund könnte es eine gute Angewohnheit sein, sie immer zu behalten:

Beispiel

const x = (x, y) => { return x * y };

Probieren Sie es selbst aus “

Pfeilfunktionen werden in IE11 oder früher nicht unterstützt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

More: