In JavaScript sind mehrere Funktionstypen definiert: 1. Verwenden Sie das Funktionsschlüsselwort, um Funktionen durch Deklarationen oder Ausdrücke zu definieren. Die Syntax lautet „Funktionsfunktionsname (Parameter) {ausgeführter Code}“. 2. Verwenden Sie den Funktionskonstruktor Function (). Konstrukteur.
Die Betriebsumgebung dieses Tutorials: Windows 10-System, JavaScript-Version 1.8.5, Dell G3-Computer.
JavaScript verwendet das Schlüsselwort function, um Funktionen zu definieren.
Funktion kann durch Deklaration definiert werden oder ein Ausdruck sein.
Funktionsdeklaration
Im vorherigen Tutorial haben Sie die Syntax der Funktionsdeklaration bereits verstanden:
function functionName(parameters) { 执行的代码 }
Die Funktion wird nicht sofort nach der Deklaration ausgeführt, sondern aufgerufen, wenn wir sie benötigen.
Funktionskonstruktor
Der Funktionskonstruktor wird zum Erstellen eines Funktionsobjekts verwendet. In JavaScript ist eigentlich jede Funktion ein Funktionsobjekt.
Die Syntax des Funktionskonstruktors:
new Function ([arg1[, arg2[, ...argN]],] functionBody)
arg1, arg2, ... argN werden als Variablennamen als normale Parameternamen von Funktionen verwendet. Diese Variablennamen müssen Zeichenfolgen sein, die einzelne Variablen darstellen, die der JavaScript-Variablenidentifikationsspezifikation oder A entsprechen Durch Kommas getrennte Zeichenfolge, die mehrere Variablen darstellt, z. B. „x“, „theValue“ oder „a,b“.
functionBody Eine Zeichenfolge, die die JavaScript-Anweisung der Funktionsdefinition enthält.
Beschreibung
1. Das Funktionsobjekt wird erstellt, wenn der Funktionskonstruktor in eine Funktion analysiert wird. Dies ist jedoch weniger effizient als die Verwendung von Funktionsdeklarationen, Funktionsausdrücken usw., da diese Funktionen direkt über den Code analysiert werden.
2. Die an den Funktionskonstruktor übergebenen Zeichenfolgenparameter werden als Variablenparameternamen der vom Funktionskonstruktor generierten Funktion verwendet, und die Reihenfolge, in der sie angezeigt werden, wird als Reihenfolge der Parameter der generierten Funktion verwendet.
3. Der Aufruf des Funktionskonstruktors als Funktion (unabhängig davon, ob er mit dem neuen Schlüsselwort geändert wurde oder nicht) hat den gleichen Effekt.
Beispiel
// Example can be run directly in your JavaScript console // Create a function that takes two arguments and returns the sum of those arguments var adder = new Function('a', 'b', 'return a + b'); // Call the function adder(2, 6); // > 8
Die Parameter a und b sind normale Parameternamen, die im Funktionskörper verwendet werden können.
Die generierte Funktion ist:
function (a,b){undefined return a+b; }
Eine Möglichkeit, JSON zu analysieren: var json = (new Function("return " + str))();
Das Prinzip ist das gleiche,
Die generierte Funktion ist:
function toJson(str){undefined return str; } var str="{'a':1,'b':'abc'}"; toJson(str);
Das heißt: function(){return {'a':1,'b':'abc'}}
Der Unterschied zwischen Funktionskonstruktor und Funktionsdeklaration:
Eine mit dem Funktionskonstruktor erstellte Funktion erstellt keinen Abschluss im Kontextpakete werden immer im globalen Bereich erstellt. Bei der Ausführung der erstellten Funktion können sie nur ihre eigenen lokalen Variablen oder globalen Variablen verwenden, was sich von eval unterscheidet.
Verwandte Empfehlungen: Javascript-Lern-Tutorial
Das obige ist der detaillierte Inhalt vonWelche Arten von Funktionen sind in Javascript definiert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!