So schreiben Sie benutzerdefinierte js-Funktionen: 1. „function function name ([args]) {code}“ 2. „var function name = new Function (p1, p2, ..., pn, body);“; 3. „Funktion ([args]){code}“.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.
Es gibt drei Möglichkeiten, Funktionen in JavaScript anzupassen, nämlich die Verwendung der Funktionsanweisung, die Verwendung des Function()-Konstruktors und die Definition von Funktionsliteralen.
Funktionen deklarieren
In JavaScript können Sie die Funktionsanweisung zum Deklarieren von Funktionen verwenden. Die spezifische Verwendung ist wie folgt:
function funName([args]) { statements }
funName ist der Funktionsname, der wie der Variablenname ein zulässiger JavaScript-Bezeichner sein muss. Nach dem Funktionsnamen folgt eine Liste von Parametern, die in Klammern eingeschlossen und durch Kommas getrennt sind. Parameter sind optional und die Anzahl ist unbegrenzt.
Als Bezeichner wird auf Parameter nur innerhalb des Funktionskörpers zugegriffen, und Parameter sind private Mitglieder des Funktionsbereichs. Übergeben Sie beim Aufrufen einer Funktion einen Wert an die Funktion, verwenden Sie dann Parameter, um den extern übergebenen Wert zu erhalten, und greifen Sie in die Ausführung der Funktion innerhalb des Funktionskörpers ein.
Nach den Klammern steht eine geschweifte Klammer. Die in der geschweiften Klammer enthaltene Aussage ist der Hauptinhalt der Funktionskörperstruktur. Im Funktionskörper sind geschweifte Klammern unerlässlich. Ohne geschweifte Klammern löst JavaScript einen Syntaxfehler aus.
Beispiel
Die Funktionsanweisung muss den Funktionsnamen sowie Klammern und Klammern enthalten. Andere Codes können weggelassen werden, sodass der einfachste Funktionskörper eine leere Funktion ist.
function funName() {} //空函数
Wenn Sie anonyme Funktionen verwenden, können Sie den Funktionsnamen weglassen.
function () {} //匿名空函数
Die var-Anweisung und die Funktionsanweisung sind beide Deklarationsanweisungen. Die von ihnen deklarierten Variablen und Funktionen werden beim Vorkompilieren von JavaScript analysiert, was auch als Variablenheraufstufung und Funktionsheraufstufung bezeichnet wird. Während der Vorkompilierungsphase erstellt die JavaScript-Engine einen Kontext für jede Funktion, definiert ein Variablenobjekt und registriert alle formalen Parameter, privaten Variablen und verschachtelten Funktionen in der Funktion als Attribute für das Variablenobjekt.
Function()-Konstruktor
Verwenden Sie den Function()-Konstruktor, um schnell Funktionen zu generieren. Die spezifische Verwendung ist wie folgt: Die Parametertypen von
var funName = new Function(p1, p2, ..., pn, body);
Function () sind alle Zeichenfolgen, p1 ~ pn stellt die Parameternamenliste der erstellten Funktion dar, body stellt die Funktionsstrukturanweisung der erstellten Funktion dar und die Body-Anweisungen sind durch Semikolons getrennt.
Beispiel 1
Sie können alle Parameter weglassen und nur eine Zeichenfolge übergeben, um den Funktionskörper darzustellen.
var f = new Function ("a", "b", "return a+b"); //通过构造函数来克隆函数结构
Im obigen Code ist f der Name der erstellten Funktion. Dieselbe Funktion wird definiert und Funktionen mit derselben Struktur können mithilfe der Funktionsanweisung entworfen werden.
function f(a, b) { //使用function语句定义函数结构 return a + b; }
Beispiel 2
Verwenden Sie den Function()-Konstruktor, um eine leere Funktionsstruktur zu erstellen, ohne Parameter anzugeben.
var f = new Function(); //定义空函数
Mit dem Function()-Konstruktor können Funktionen dynamisch erstellt werden. Er beschränkt Benutzer nicht auf den durch die Funktionsanweisung vorab deklarierten Funktionskörper. Durch die Verwendung des Function()-Konstruktors können Sie die Funktion als Ausdruck und nicht als Struktur verwenden, sodass sie flexibler einsetzbar ist. Der Nachteil besteht darin, dass der Function()-Konstruktor während der Ausführung kompiliert wird, die Ausführungseffizienz sehr gering ist und seine Verwendung im Allgemeinen nicht empfohlen wird.
Anonyme Funktion (Funktionsliteral)
Funktionsliteral wird auch als anonyme Funktion bezeichnet, das heißt, die Funktion hat keinen Funktionsnamen und enthält nur das Funktionsschlüsselwort, Parameter und den Funktionskörper. Die spezifische Verwendung ist wie folgt:
function ([args]) { statements }
Beispiel 1
Der folgende Code definiert ein Funktionsliteral.
function (a, b) { //函数直接量 return a + b; }
Im obigen Code sind Funktionsliterale grundsätzlich dasselbe wie die Verwendung von Funktionsanweisungen zum Definieren von Funktionsstrukturen, und ihre Strukturen sind festgelegt. Das Funktionsliteral gibt jedoch keinen Funktionsnamen an, sondern verwendet direkt das Schlüsselwort function, um die Struktur der Funktion darzustellen. Diese Art von Funktion wird auch als anonyme Funktion bezeichnet.
Beispiel 2
Eine anonyme Funktion ist ein Ausdruck, also ein Funktionsausdruck, keine Aussage über die Funktionsstruktur. Als nächstes weisen Sie der Variablen f die anonyme Funktion als Wert zu.
//把函数作为一个值直接赋值给变量 f var f = function (a, b) { return a + b; };
Wenn die Funktionsstruktur einer Variablen als Wert zugewiesen wird, kann die Variable als Funktion aufgerufen werden und die Variable zeigt auf die anonyme Funktion.
console.log(f(1,2)); //返回值3
Beispiel 3
Anonyme Funktionen dienen als Werte und können an komplexeren Ausdrucksoperationen teilnehmen. Für das obige Beispiel können Sie den folgenden Code verwenden, um den integrierten Vorgang der Funktionsdefinition und des Funktionsaufrufs abzuschließen.
console.log( //把函数作为一个操作数进行调用 (function (a,b) { return a + b; })(1, 2)); //返回数值3
【Verwandte Empfehlungen: Javascript-Lern-Tutorial】
Das obige ist der detaillierte Inhalt vonSo schreiben Sie eine benutzerdefinierte JavaScript-Funktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!