TypeScript-Funktionen
Eine Funktion ist eine Gruppe von Anweisungen, die gemeinsam eine Aufgabe ausführen.
Sie können Ihren Code in verschiedene Funktionen aufteilen. Wie Sie den Code auf verschiedene Funktionen aufteilen, bleibt Ihnen überlassen, aber logisch betrachtet erfolgt die Aufteilung normalerweise danach, dass jede Funktion eine bestimmte Aufgabe erfüllt.
Eine Funktionsdeklaration teilt dem Compiler den Namen der Funktion, den Rückgabetyp und die Parameter mit. Die Funktionsdefinition stellt den eigentlichen Funktionskörper bereit.
Funktionsdefinition
Eine Funktion ist ein Codeblock, der in geschweifte Klammern eingeschlossen ist und dem das Schlüsselwort function vorangestellt ist:
Die Syntax lautet wie folgt:
function function_name()
{
// 执行代码
}
Beispiel
TypeScript
Aufruf einer Funktion
Eine Funktion kann den Code in ihrem Inneren nur ausführen, wenn sie aufgerufen wird.
Die Syntax lautet wie folgt:
function_name()
Beispiel
TypeScript
Rückgabewert der Funktion
Manchmal möchten wir, dass eine Funktion das Ergebnis ihrer Ausführung an die Stelle zurückgibt, an der sie aufgerufen wurde.
Dies kann durch die Verwendung der return-Anweisung erreicht werden.
Wenn eine return-Anweisung verwendet wird, stoppt die Funktion die Ausführung und gibt den angegebenen Wert zurück.
Die Syntax lautet wie folgt:
function function_name():return_type {
// 语句
return value;
}
return_type ist der Typ des Rückgabewerts.
Auf das return-Schlüsselwort folgt das zurückzugebende Ergebnis.
Im Allgemeinen hat eine Funktion nur eine return-Anweisung.
Der Typ des zurückgegebenen Werts muss mit dem in der Funktion definierten Rückgabetyp (return_type) übereinstimmen.
Beispiel
TypeScript
Im Beispiel wird eine Funktion definiertgreet(), und der Rückgabetyp ist string.
greet()Die Funktion kehrt über die return-Anweisung an die Stelle zurück, an der sie aufgerufen wurde, d. h. zur Variablen msg, und gibt dann den Rückgabewert aus.
Kompilieren Sie den obigen Code, um den folgenden JavaScript-Code zu erhalten:
JavaScript
Funktionen mit Parametern
Beim Aufrufen einer Funktion können Werte an sie übergeben werden, und diese Werte werden Parameter genannt.
Diese Parameter können innerhalb der Funktion verwendet werden.
Man kann mehrere Parameter an eine Funktion übergeben, wobei jeder Parameter durch ein Komma getrennt wird,:
Die Syntax lautet wie folgt:
function func_name( param1 [:datatype], param2 [:datatype]) {
}
param1 und param2 sind Parameternamen.
datatype ist der Parametertyp.
Beispiel
TypeScript
Im Beispiel wird eine Funktion definiertadd(), und der Rückgabetyp ist number.
add()Die Funktion definiert zwei Parameter vom Typ number, addiert die beiden Parameter und gibt das Ergebnis zurück.
Kompilieren Sie den obigen Code, um den folgenden JavaScript-Code zu erhalten:
JavaScript
Die Ausgabe ist:
3
Optionale und Standardparameter
Optionale Parameter
In TypeScript-Funktionen müssen wir, wenn wir Parameter definieren, diese übergeben, es sei denn, wir legen sie als optional fest. Optionale Parameter werden mit einem Fragezeichen ? gekennzeichnet.
Beispiel
TypeScript
Im folgenden Beispiel setzen wir lastName als optionalen Parameter:
TypeScript
Optionale Parameter müssen nach erforderlichen Parametern stehen. Wenn wir im obigen Beispiel möchten, dass firstName optional und lastName erforderlich ist, müssen wir ihre Positionen anpassen und firstName an die letzte Stelle setzen.
Es spielt keine Rolle, ob alle Parameter optional sind.
Standardparameter
Wir können auch Standardwerte für Parameter festlegen, sodass beim Aufruf der Funktion, wenn der Parameterwert nicht übergeben wird, der Standardparameter verwendet wird. Die Syntax lautet:
function function_name(param1[:type],param2[:type] = default_value) {
}
Hinweis: Ein Parameter kann nicht sowohl als optional als auch als Standard festgelegt werden.
Beispiel
Im folgenden Beispiel wird der Parameter rate der Funktion auf einen Standardwert von 0.50 gesetzt. Wenn die Funktion aufgerufen wird, ohne den Parameter zu übergeben, wird der Standardwert verwendet:
TypeScript
Kompilieren Sie den obigen Code, um den folgenden JavaScript-Code zu erhalten:
JavaScript
Die Ausgabe ist:
计算结果: 500 计算结果: 300
Rest-Parameter
Es gibt Situationen, in denen wir nicht wissen, wie viele Parameter an eine Funktion übergeben werden müssen. In solchen Fällen können wir Rest-Parameter verwenden, um sie zu definieren.
Die Syntax für Rest-Parameter ermöglicht es uns, eine unbestimmte Anzahl von Parametern als Array zu übergeben.
TypeScript
Der letzte benannte Parameter der Funktion, restOfName, wird mit ... präfixiert, und er wird zu einem Array, das aus den übrigen Parametern besteht, mit Indexwerten von 0 (inklusiv) bis restOfName.length (exklusiv).
TypeScript
Kompilieren Sie den obigen Code, um den folgenden JavaScript-Code zu erhalten:
JavaScript
Die Ausgabe ist:
和为: 6 和为: 50
Anonyme Funktionen
Eine anonyme Funktion ist eine Funktion ohne Funktionsnamen.
Anonyme Funktionen werden zur Programmlaufzeit dynamisch deklariert. Abgesehen davon, dass sie keinen Funktionsnamen haben, sind sie dieselben wie Standardfunktionen.
Wir können eine anonyme Funktion einer Variablen zuweisen, und ein solcher Ausdruck wird zu einem Funktionsausdruck.
Die Syntax lautet wie folgt:
var res = function( [arguments] ) { ... }
Beispiel
Anonyme Funktion ohne Parameter:
TypeScript
Kompilieren Sie den obigen Code, um den folgenden JavaScript-Code zu erhalten:
JavaScript
Die Ausgabe ist:
hello world
Anonyme Funktion mit Parametern:
TypeScript
Kompilieren Sie den obigen Code, um den folgenden JavaScript-Code zu erhalten:
JavaScript
Die Ausgabe ist:
24
Selbstaufrufende anonyme Funktionen
Eine anonyme Funktion kann selbst aufgerufen werden, indem () nach der Funktion verwendet wird:TypeScript
Kompilieren Sie den obigen Code, um den folgenden JavaScript-Code zu erhalten:
JavaScript
Die Ausgabe ist:
Hello!!
Function-Konstruktor
TypeScript unterstützt auch die Verwendung des in JavaScript integrierten Konstruktors Function() zum Definieren von Funktionen:
Die Syntax lautet wie folgt:
var res = new Function ([arg1[, arg2[, ...argN]],] functionBody)
Parameter description:
- arg1, arg2, ... argN: Eine Liste von Parametern.
- functionBody: Ein String, der JavaScript-Anweisungen enthält, die die Funktionsdefinition beinhalten.
Beispiel
TypeScript
Kompilieren Sie den obigen Code, um den folgenden JavaScript-Code zu erhalten:
JavaScript
Die Ausgabe ist:
12
Rekursive Funktionen
Eine rekursive Funktion ist eine Funktion, die sich selbst innerhalb der Funktion aufruft.Zum Beispiel:
Es war einmal ein Berg, in dem Berg war ein Tempel, in dem Tempel erzählte ein alter Mönch einem kleinen Mönch eine Geschichte! Was war die Geschichte? „Es war einmal ein Berg, in dem Berg war ein Tempel, in dem Tempel erzählte ein alter Mönch einem kleinen Mönch eine Geschichte! Was war die Geschichte? ‚Es war einmal ein Berg, in dem Berg war ein Tempel, in dem Tempel erzählte ein alter Mönch einem kleinen Mönch eine Geschichte! Was war die Geschichte? …‘“
Beispiel
TypeScript
Kompilieren Sie den obigen Code, um den folgenden JavaScript-Code zu erhalten:
JavaScript
Die Ausgabe ist:
720
Lambda-Funktionen
Lambda-Funktionen werden auch Pfeilfunktionen genannt.
Pfeilfunktionsausdrücke haben eine kürzere Syntax als Funktionsausdrücke.
Eine Funktion mit nur einer Anweisung:
( [param1, param2,…param n] )=>statement;
Beispiel
Das folgende Beispiel deklariert eine Lambda-Ausdrucksfunktion, die die Summe zweier Zahlen zurückgibt:TypeScript
Kompilieren Sie den obigen Code, um den folgenden JavaScript-Code zu erhalten:
JavaScript
Die Ausgabe ist:
110
Eine Funktion ist ein Anweisungsblock:
( [param1, param2,…param n] )=> {
// 代码块
}
Beispiel
Das folgende Beispiel deklariert eine Lambda-Ausdrucksfunktion, die die Summe zweier Zahlen zurückgibt:
TypeScript
Das Kompilieren des obigen Codes erzeugt den folgenden JavaScript-Code:
JavaScript
Die Ausgabe ist:
110Wir müssen die Parametertypen nicht angeben; die Typen werden innerhalb der Funktion abgeleitet:
TypeScript
Das Kompilieren des obigen Codes erzeugt den folgenden JavaScript-Code:
JavaScript
Die Ausgabe ist:
12 是一个数字 Tom 是一个字符串
Ein einzelner Parameter()ist optional:
TypeScript
Das Kompilieren des obigen Codes erzeugt den folgenden JavaScript-Code:
JavaScript
Die Ausgabe ist:
输出为 12
Wenn keine Parameter vorhanden sind, können leere Klammern verwendet werden:
TypeScript
Das Kompilieren des obigen Codes erzeugt den folgenden JavaScript-Code:
JavaScript
Die Ausgabe ist:
Call function
Funktionsüberladung
Überladen bedeutet, dass Methoden denselben Namen, aber unterschiedliche Parameter haben, und die Rückgabetypen können gleich oder unterschiedlich sein.
Jede überladene Methode (oder jeder Konstruktor) muss eine eindeutige Parameter-Typ-Liste haben.
Unterschiedliche Parametertypen:
function disp(string):void; function disp(number):void;
Unterschiedliche Anzahl von Parametern:
function disp(n1:number):void; function disp(x:number,y:number):void;
Unterschiedliche Reihenfolge der Parametertypen:
function disp(n1:number,s1:string):void; function disp(s:string,n:number):void;
Wenn die Parametertypen unterschiedlich sind, sollte der Parametertyp aufany gesetzt werden。
Wenn die Anzahl der Parameter abweicht, kann man die unterschiedlichen Parameter als optional festlegen.
Beispiel
Das folgende Beispiel definiert unterschiedliche Parametertypen und unterschiedliche Anzahlen von Parametern:
TypeScript
Das Kompilieren des obigen Codes erzeugt den folgenden JavaScript-Code:
JavaScript
Die Ausgabe ist:
abc undefined 1 xyzWeitere Erweiterungen