【发布时间】:2012-05-09 19:47:27
【问题描述】:
我对使用 Function.prototype.bind 的柯里化和其他技术一头雾水。
在某些情况下更改函数范围(即this 值)似乎非常有用。
但是it looks like you can't change the scope with bind 一旦你已经这样做了:
function f = obj.method.bind(42);
function g = obj.method.bind('Hi');
function f2 = f.bind('Hi'); // “this” is still 42
是否可以从绑定函数中检索原始未绑定函数?
【问题讨论】:
-
@Martin:我现在正在制作小提琴。对于知道答案的人来说,这似乎是一个非常简单的问题,因此我在没有事先研究的情况下发布了一个问题。
-
@Martin:我只是checked my assumptions,看起来我不能用
bind两次更改范围。那么,有可能吗?有没有某种unbind? -
是的,我和菲利克斯一起做这个 - 不可能,何塞
-
我不知道这怎么可能,但话又说回来,我想不出一个需要它的情况。
标签: javascript function bind ecmascript-5