4.12 wrap

4.12.1 语法

_.wrap(function, wrapper)

4.12.2 说明

将function封装到wrapper里, 返回一个函数,wrapper函数的第一个参数即变function
这样可以让wrapper在function运行之前和之后 执行代码, 调整参数然后附有条件地执行

4.12.3 代码示例

示例一: 理解api

_.wrap(Math.min, function(min) {
    //第一个参数min即是传入的方法Math.min
    console.log(min === Math.min); //=> true
    return 1;
})(); //返回一个函数,加()执行一下
//=> 1

示例二: 在function运行之前和之后执行代码

var min = _.wrap(Math.min, function(min, a, b) {
    return '最小值是:' + min(a, b) + '!';
}); //返回一个函数

min(1, -7); //=> "最小值是:-7!"

4.12.4 源码展示

_.wrap = function(func, wrapper) {
    //调用了partial方法
    return _.partial(wrapper, func);
};