function greaterThan(n) {
return function(m) { return m > n; };
}
var greaterThan10 = greaterThan(10);
console.log(greaterThan10(11));
// true
Ich versuche, Funktionen höherer Ordnung zu verstehen. Ich verstehe, dass das Obige eine Funktion hat, die eine andere Funktion in ihm erzeugt. Ich verstehe auch, dass greaterThan10
speichert die Funktion: return function(m) { return m > n; };
Sie können JavaScript-Funktionen haben, die andere Funktionen erstellen. Wie funktioniert das?
Ich verstehe nicht, wie dies in true
resultiert? Gibt es keine Überschreitung der 11 übersteuert die 10 zuvor bestanden? Wie sind beide 10 & 11 gespeichert, bekomme ich das nicht? Dankes-
'n = 10, m = 11' wenn du das einmal verstanden hast, sollte es Sinn machen. –
Für Sie als Referenz wird dies als [Closure] (https://developer.mozilla.org/en/docs/Web/JavaScript/Closures) bezeichnet. – Rajesh
Nun, speziell wird die Technik als [currying] bezeichnet (https://www.sitepoint.com/currying-in-functional-javascript/). –