function curry(fn) {
var args = Array.prototype.slice.call(arguments, 1);
return function() {
var innerArgs = Array.prototype.slice.call(arguments);
var finalArgs = args.concat(innerArgs);
return fn.apply(null, finalArgs);
};
}
function add(num1, num2) {
return num1 + num2;
}
var curriedAdd = curry(add, 5,12);
alert(curriedAdd());
因为add传递的参数不能为数组,为了方便,可以用apply方法来实现用数组的参数来传递,这是很多时候运用的一个小技巧罢了。而apply方法第一个参数,是要替代的对象。没有要替代的,用null,也是很自然的。
该博客探讨了在JavaScript中使用`fn.apply(null, finalArgs)`的情况。当需要将数组作为参数传递给函数,但函数不接受数组参数时,会使用`apply`方法。`null`作为`apply`的第一个参数,表示没有特定的对象上下文,通常用于不需要替代`this`值的场景。"
114852690,10771780,MyBatis Mapper实现方式详解,"['mybatis', 'xml', 'Spring整合', '数据访问']
3245

被折叠的 条评论
为什么被折叠?



