使用function.bind将函数绑定到此函数

时间:2016-03-22 08:32:41

标签: javascript function bind

不介意这是函数式编程,我在理解时遇到的问题是当你在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();

1 个答案:

答案 0 :(得分:2)

一个功能也只是一个对象......

var foo = function () { };
foo.bar = 'baz';

您碰巧能够使用foo() 调用此对象,但除此之外,它的行为与任何其他对象完全相同。您可以毫无问题地将this绑定到foo