Der einfachste Weg, Bind () zu Bind () zu verwenden, besteht darin, eine Funktion so zu erstellen, dass die Funktion den gleichen Wert hat, egal wie sie aufgerufen wird. Im Gegensatz zu Call and Apply, die einfach den Wert dieser festlegen und die Argumente übergeben, wird auch alle tatsächlichen Argumente gebunden, die in die Bind () -Methode (die Parameter nach dem ersten Parameter) übergeben wurden.
Beispiele für diese Funktion finden Sie im Originaltext "JS Autoritative Guide":
var sum = function (x, y) {return x + y}; var procc = sum.bind (null, 1); // Lassen Sie diesen Punkt auf Null zulassen, und die nachfolgenden tatsächlichen Parameter werden ebenfalls in die gebundene Funktionsfunktion übergeben (2); // => 3: Sie können sehen, dass 1 in der Summenfunktion an x gebunden istZweitens ist die von der Methode Bind () zurückgegebene Funktion der Formparametermenge der ursprünglichen Funktion gleich.
Funktion func (a, b, c, d) {...} // Die Länge des Func beträgt 4Var After = func.bind (null, 1,2); // Die beiden tatsächlichen Parameter (1,2) werden hier eingegeben, um an die A der Func -Funktion bconsole.log (After.Length) zu binden; // Die Länge von After ist 2Drittens, wenn die von Bind () zurückgegebene Funktion als Konstruktor verwendet wird, wird diese in Bind () übergeben und alle tatsächlichen Konten in die ursprüngliche Funktion übergeben. Dies ist sehr abstrakt. Zum Beispiel:
Funktion Original (x) {this.a = 1; this.b = function () {return this.a + x}} var obj = {a = 10} var newObj = new (original.bind (obj, 2)); // ein realer Parameter 2Console.log (Newobj.A); // Ausgabe 1, was angibt, dass OBJ (dieser Wert) ignoriert wird, wenn die zurückgegebene Funktion als Konstruktorkonsole verwendet wird. // Ausgabe 3, was darauf hinweistDas obige ist die Eigenschaften der BIND -Methode in ES5, und diese Technologie wird auch als funktionelles Currying bezeichnet. Diese Technik verwandelt eine Funktion mit mehreren Parametern in eine Funktion mit nur einem Parameter. Die Bindungsmethode ist die Praxis dieser Technologie in JS.
Diese kurze Diskussion über die Bindemethode und das Funktionscurrying in JS ist der gesamte Inhalt, den ich mit Ihnen teile. Ich hoffe, es kann Ihnen eine Referenz geben und ich hoffe, Sie können Wulin.com mehr unterstützen.