http://ejohn.org/apps/learn/#84から取得
function bind(context, name){
return function(){
return context[name].apply(context, arguments);
};
}
私は本当にこれがどのように機能するかを理解しようとしています。この関数は機能しますが、最も内側の関数からconsole.log引数を指定した場合、それらは存在しません。では、それらが呼び出されるapply関数でどのように使用できるのでしょうか。
言い換えると:
function bind(context, name){
console.log(arguments.length === 2, true);
return function(){
console.log(arguments.length === 0, true);
return context[name].apply(context, arguments);
};
}
外部関数の引数をconsole.logして、lengthプロパティを取得できます。しかし、その最も内側の関数から、arguments.length===0です。