Heim >Web-Frontend >js-Tutorial >Welche Arten von Funktionen sind in Javascript definiert?

Welche Arten von Funktionen sind in Javascript definiert?

WBOY
WBOYOriginal
2022-03-10 14:57:062593Durchsuche

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.

Welche Arten von Funktionen sind in Javascript definiert?

Die Betriebsumgebung dieses Tutorials: Windows 10-System, JavaScript-Version 1.8.5, Dell G3-Computer.

Welche Arten von Funktionen werden von JavaScript definiert?

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!

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