fn.apply(null, finalArgs) 参数null代表什么

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,也是很自然的。


版权声明:本文为junjun222222原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。