在bind中使用部分函数作为下划线

时间:2015-05-22 19:41:42

标签: javascript underscore.js

我有一些代码设置函数的第一个参数,另一个代码设置第二个参数。设置第二个参数后,我需要最终返回一个回调函数(设置了两个参数)。

var f = function(a,b) { return a-b; }

var g = _.partial(f, 5); 

g(1); // gives 4

var h = _.bind(g, 1); // I want to return h

h(); // but calling h() gives NaN. I was expecting 4

2 个答案:

答案 0 :(得分:1)

回调到_.bind()的错误

var h = _.bind(g, {}, 1);

答案 1 :(得分:1)

_.bind中的第二个参数接受您要绑定范围的对象,之后,您可以为该函数指定参数。

var f = function(a,b) { return a-b; }

var g = _.partial(f, 5); 

g(1); // gives 4

var h = _.bind(g, {}, 1); // I want to return h

h(); //Now returns 4