- 分析
从标题我们可以知道的是,这个是一个可以接收很多个参数的函数,并且函数的参数之和等于函数运行的结果.所以根据分析我们可以写出如下的一个无限累加的方法1
2
3
4
5
6
7
8
9
10function add(a){
function sum (b){
a = a + b // 利用闭包,将计算的值存储在变量a中
return sum; // 利用递归实现无限次数的调用自身
}
sum.toString = function(){ // 重写sum函数的toString方法,让其返回计算后的值a
return a;
}
return sum; // 第一次调用add函数的时候将sum函数返回,以后每次调用将会采用递归自调用。
}
实现无限累加f(1)(2) = 3; f(1)(2)(3) = 6, ...
Last updated: