不介意这是函数式编程,我在理解时遇到的问题是当你在bind-method中使用函数作为第一个参数时会发生什么?
monadWithValue.bind(callback);
通常,这用于通过提供将成为其引用的对象来分配上下文。
var monadWithValue = Monad( value );
function callback(value) {
var newValue = calculate…new…value…from…value;
return Monad( newValue );
}
var monadWithNewValue = monadWithValue.bind(callback);
通常我会按照以下方式做点什么:
function add() {
return this.a + this.b;
}
var context = {
a:10,
b:20
};
add.bind(context);
add();
答案 0 :(得分:2)
一个功能也只是一个对象......
var foo = function () { };
foo.bar = 'baz';
您碰巧能够使用foo()
调用此对象,但除此之外,它的行为与任何其他对象完全相同。您可以毫无问题地将this
绑定到foo
。