我正在阅读这篇文章 - http://www.robertsosinski.com/2009/04/28/binding-scope-in-javascript/ - 其中制作了自定义绑定函数。
Function.prototype.bind = function(scope) {
var _function = this;
return function() {
return _function.apply(scope, arguments);
}
}
alice = {
name: "alice"
}
eve = {
talk: function(greeting) {
console.log(greeting + ", my name is " + this.name);
}.bind(alice) // <- bound to "alice"
}
eve.talk("hello");
// hello, my name is alice
我的问题尤其是这条线
return function() {
return _function.apply(scope, arguments);
}
为什么在 _function.apply(scope, arguments);中返回 那里?它在做什么,正在返回什么?我删除了那个返回,它仍然有效。