解释bindbind()函数(Explain bindbind() function)

2019-07-04 01:19发布

有人可以解释这个功能呢?

var bindbind = Function.prototype.bind.bind(Function.prototype.bind);

我的理解产生的结果:

var bindedContextFunc = bindbind(function)(context);
bindedContextFunc(args);

但不明白创建此功能的过程中,我的意思是部分bind(Function.prototype.bind)

Answer 1:

好。 我们有三次Function.prototype.bind功能在这里,他们(简化)代码

function bind(context) {
    var fn = this;
    return function() {
        return fn.apply(context, arguments);
    }
}

我将在缩写有很多部分应用程序的多个功能样式:绑定FN(上下文) - > FN 上下文

那么它有什么作用? 你已经得到bind.call(bind, bind)或绑定绑定 (绑定)。 让我们扩展这个绑定绑定 。 如果我们现在提供的一些参数呢?

绑定的绑定 (绑定)(FN)(上下文)

绑定的绑定 (FN)(上下文)

绑定FN(上下文)

FN 上下文

我们到了。 我们可以将这个给一些变量来使结果更加清晰:

bindbind =绑定的绑定 (绑定)

bindfn = bindbind 任何东西 (FN) //绑定FN

contextbindfn = bindfn 任何东西 (上下文) // FN 上下文

结果= contextbindfn 任何东西 (参数) // FN 上下文 (参数)



文章来源: Explain bindbind() function