わかった。ここには3倍のFunction.prototype.bind
関数があり、その(簡略化された)コードは
function bind(context) {
var fn = this;
return function() {
return fn.apply(context, arguments);
}
}
部分適用が多い、より機能的なスタイルで省略します:bind fn ( context)->fncontext 。
それで、それは何をしますか?バインド(バインド)を取得bind.call(bind, bind)
またはバインドしました。これを展開してbindbindをバインドしましょう。今、それにいくつかの引数を提供した場合はどうなりますか?
バインドバインド(バインド)(fn)(コンテキスト)
バインドバインド(fn)(コンテキスト)
バインドfn(コンテキスト)
fnコンテキスト
これが私たちです。これをいくつかの変数に割り当てて、結果をより明確にすることができます。
bindbind = bind bind(bind)
bindfn = bindbind any ( fn)//
bind fn
contextbindfn = bindfn any (コンテキスト)//
fnコンテキスト
結果=contextbindfnany ( args)//
fn context(args)