Was ist Lehrpläne
Currying ist ein Konvertierungsprozess, der eine Funktion umwandelt, die mehrere Parameter in eine Funktion akzeptiert, die einen einzelnen Parameter akzeptiert (Übersetzung Hinweis: Der erste Parameter der ursprünglichen Funktion). Wenn andere Parameter erforderlich sind, geben Sie eine neue Funktion zurück, die die verbleibenden Parameter akzeptiert und das Ergebnis zurückgibt.
KELI CHEMISCHE FUNKTIONISSIKMANT: Eine JS-Vorverarbeitungsidee; Das Prinzip, dass die Verwendung der Funktionsausführung einen nicht zerstörten Bereich bilden kann, kann gebildet werden, und alle Inhalte, die vorverarbeitet werden müssen, wird in diesem nicht zerstörten Bereich gespeichert, der nicht zerstört wird, und in der kleinen Funktion wird eine kleine Funktion ausgeführt.
Die Currying -Funktion spielt hauptsächlich eine Rolle bei der Vorverarbeitung;
Die Funktion der Bind -Methode: Vorverarbeitet dies in der Callback -Rückrufmethode als Kontextkontext;
Der Code des Prinzips von Bind -Methoden implementieren 1 lautet wie folgt:
/*** Prinzip der Implementierung von Bind -Methode 1* @param Rückruf [Funktion] Rückruffunktion* @param Context [Objekt] Kontext* @returns {Funktion} Ändern Sie die Funktion, auf die dieser*/Funktion binden (Rückruf, Kontext) {var outterArg = array.prototyp.slice.call (Argumente), 2). return function () {var innerarg = array.prototype.slice.call (Argumente, 0); // Mittel, um alle Argumenteparameter im aktuellen Bereich zu übernehmen; Callback.Apply (Kontext, oterarg.concat (Innerarg));}}Der folgende Code imitiert das Prinzip der Bindungsimplementierung in der Prototypkette
/*** Imitieren Sie das Prinzip der Bind -Implementierung in der Prototyp -Kette (koreanische und chemische Funktionsidee)* @param Context [Objekt] Kontext* @returns {Funktion} Ändern Sie die Funktion, auf die diese*/function.Prototype.Mybind = Funktion mybind (context) {var _this = this; var Outarg = array.protry.protry.protry.Protry.Protry.Protry.Protry.Protry.Slices,; If ('bind' in function.prototype) {return this.bind.Apply (this, [context] .concat (outarg));} // Rückgabefunktion im Fall von Inkompatibilität () {var inArg = array.Prototype.slice.call (Argumente, 0); outarg.concat (inArg); _ this.apply (Kontext, arg);}}Currying -Funktion
In der Informatik ist Curry eine Technik, eine Funktion zu konvertieren, die mehrere Parameter in eine Funktion akzeptiert, die einen einzelnen Parameter (den ersten Parameter der ursprünglichen Funktion) akzeptiert, und eine neue Funktion zurückzugeben, die die verbleibenden Parameter akzeptiert und das Ergebnis zurückgibt.
Currying bedeutet, bestimmte Parameter im Voraus zu übergeben, um eine einfache Funktion zu erhalten. Vorpasste Parameter werden jedoch im Verschluss gespeichert, daher gibt es einige besondere Merkmale. Zum Beispiel:
Beispiel:
var adder = function (num) {return function (y) {return num + y;}} var Inc = Adder (1); var dec = adder (-1); // Inc, Dec ist jetzt zwei neue Funktionen, die zum Übergeben des Parameterwerts verwendet werden (+/-) 1Alert (Inc (99)); // 100Art (Dec (101)); // 100alert (Addierer (100) (2)); // 102Art (Addierer (2) (100)); // 102Der obige Inhalt ist die Curling JavaScript -Funktion und die Methode zur Implementierung von Bind -Methoden, die Ihnen vom Editor vorgelegt wurden. Ich hoffe, es wird für alle hilfreich sein!