In JavaScript gilt eine Funktion als „curried“, wenn sie einen oder mehrere Parameter annimmt und eine neue Funktion zurückgibt, die die übrigen Parameter annimmt. Currying ist eine leistungsstarke Technik, mit der aus vorhandenen Funktionen neue Funktionen oder „Curry“-Funktionen der Tiefe n erstellt werden können. Warum müssen wir Funktionen dereferenzieren?
möchten. Zum Beispiel möchten Sie vielleicht -
-
<!doctype html> <html> <head> <title>Examples</title> </head> <body> <p>uncurry up to depth 2 using Function apply() method</p> <div id="result"></div> <script> function add(a, b) { return a + b; } function curriedAdd(a) { return function(b) { return a + b; } } // Uncurry the "curriedAdd" function up to depth 2: document.getElementById("result").innerHTML = curriedAdd.apply(null, [1]).apply(null, [2]); // 3 </script> </body> </html>
“call“ i>-Methode. Zum Beispiel -
<!doctype html> <html> <head> <title>Examples</title> </head> <body> <p> uncurry up to depth 2 using Function call() method</p> <div id="result"></div> <script> function add(a, b) { return a + b; } function curriedAdd(a) { return function(b) { return parseInt(a) + parseInt(b); } } // Uncurry the "curriedAdd" function up to depth 2: document.getElementById("result").innerHTML = curriedAdd.call(null, [1]).call(null, [2]); // 3 </script> </body> </html>
"apply", hat aber den gleichen Effekt. Welche Vorteile bietet die Verwendung der Methode „Function.prototype.apply“? Die Verwendung der Methode „Function.prototype.apply“ zum Dereferenzieren einer Funktion hat mehrere Vorteile -
Die Methode „Apply“ ist schneller als die Methode „Call“. Die Methode „Apply“ wird weiter unterstützt als die Methode „Call“.Zusammenfassend ist Currying eine leistungsstarke Technik, die verwendet werden kann, um neue Funktionen aus vorhandenen Funktionen zu erstellen oder Funktionen der Tiefe n zu „curryen“.
Das obige ist der detaillierte Inhalt vonWie kann ich eine Funktion in JavaScript auf Tiefe n rekursieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!