4.3 partial方法

4.3.1 语法:

_.partial(function, *arguments)

4.3.2 说明:

局部应用一个函数填充在任意个数的 arguments,不改变其动态this值。和bind方法很相近。你可以传递_ 给arguments列表来指定一个不预先填充,但在调用时提供的参数。

示例一: 基础用法

function add(a, b) {
    return a + b;
};

//在add的基础上实现新方法
//5会当作第一个参数传给add
var add5 = _.partial(add, 5);

add5(10); //=> 15

示例二:arguments可以多个

function func() {
    return _.toArray(arguments).join(' ');
};

var partial = _.partial(func, 'a', 'b');

partial('c', 'd'); //=> "a b c d"

示例三: partial参数可以用下划线作为占位符

function func(a, b, c) {
    return a * b - c;
};
var partial = _.partial(func, _, 2, 1);

//利用func实现了乘以2再减一
partial(4); // Number => 7