Me estoy poniendo la cabeza envuelta en currying y otras técnicas usando Function.prototype.bind
.
Parece extremadamente útil cambiar el alcance de la función (es decir, el valor this
) en ciertas situaciones.¿Puedo obtener una función independiente de una función enlazada en JavaScript?
Sin embargo it looks like you can't change the scope with bind
una vez que ya lo hicieron:
function f = obj.method.bind(42);
function g = obj.method.bind('Hi');
function f2 = f.bind('Hi'); // “this” is still 42
¿Es posible recuperar la función sin consolidar original a partir de una función ligada en absoluto?
¿Has probado? –
@Martin: estoy creando un violín en este momento. Parece una pregunta muy simple para alguien que conoce la respuesta, de ahí que haya publicado una pregunta sin investigación previa. –
@Martin: Acabo de [verifiqué mis suposiciones] (http://jsfiddle.net/dXq2E/) y realmente parece que no puedo cambiar el alcance con 'bind' dos veces. Entonces, ¿es posible? ¿Hay algún tipo de 'desvinculación'? –