函数柯里化
function add(){
// 保存第一个括号里的变量到 arr 数组里面
// slice 方法可以用来将一个类数组(Array-like)对象/集合转换成一个新数组
let arr = Array.prototype.slice.call(arguments);
function inner(){
// 将后面的调用 inner 的参数添加到 arr 数组里面
arr.push(...arguments);
// 循环调用
return inner;
}
// 改写 toString 方法
inner.toString = function (){
let sum = arr.reduce((prev, cur) => {
return prev + cur;
});
return sum;
}
return inner;
}
// 测试一下
// let result = parseInt(add(1)(2)(3)); // 6
let result = add(1)(2)(3).toString();
console.log(typeof result);
chrome浏览器测试需要在后面调用一个toString方法

浙公网安备 33010602011771号