は、私は関数に不明なJavaScript関数
function bind(method, context) {
var args = Array.prototype.slice.call(arguments, 2);
return function() {
var a = args.concat(Array.prototype.slice.call(arguments, 0));
return method.apply(context, a);
}
}
を持って質問されました:この機能が働いて、それが使用することができます何のためか。
私は、関数のbind(およびreturn関数も)配列のような引数を実際の配列に変換することを理解しています。メソッドとコンテキストは配列に変換されません(2つのインデックスのため)。私はbind関数で余分なargsを渡すことができ、argsは返された関数と 'this'というコンテキストでメソッドを呼び出します。
私の質問は - それがどのように使用されるかです。方法と文脈 - 機能またはオブジェクト、または機能とオブジェクトですか?
['Function.prototype.bind()'](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_objects/Function/bind)と同じことをします – zerkms