Я получаю свою голову, завернутую в карри и другие методы, используя Function.prototype.bind
.
В некоторых ситуациях представляется чрезвычайно полезным изменить функциональную область (т.е. this
).
Однако похоже, что вы не можете изменить область с помощью bind
, как только вы это сделали:
function f = obj.method.bind(42);
function g = obj.method.bind('Hi');
function f2 = f.bind('Hi'); // "this" is still 42
Можно ли вообще восстановить исходную несвязанную функцию из связанной функции?