Ich bekomme meinen Kopf über Curry und andere Techniken mit Function.prototype.bind
gewickelt.
Es scheint äußerst nützlich, Funktionsumfang (d. H. this
Wert) in bestimmten Situationen zu ändern.Kann ich eine ungebundene Funktion von einer gebundenen Funktion in JavaScript erhalten?
jedoch it looks like you can't change the scope with bind
, wenn Sie bereits tat so:
function f = obj.method.bind(42);
function g = obj.method.bind('Hi');
function f2 = f.bind('Hi'); // “this” is still 42
Ist es möglich, auf alle ursprünglichen ungebundene Funktion aus einer gebundenen Funktion abzurufen?
haben Sie versucht? –
@Martin: Ich kreiere gerade eine Geige. Für jemanden, der die Antwort kennt, scheint es eine sehr einfache Frage zu sein, weshalb ich eine Frage ohne vorherige Recherche gestellt habe. –
@Martin: Ich habe nur [meine Annahmen überprüft] (http://jsfiddle.net/dXq2E/) und es sieht wirklich so aus, als ob ich den Umfang nicht zweimal mit 'bind' ändern kann. Also, ist es überhaupt möglich? Gibt es eine Art "Entbinden"? –