需求:给定递归函数 function reference(n){}
,实现 1*2+2*3+...+(n-1)*n
。
思路:以上需求,其需要重复解决的部分为 (n-1)*n
,而在得到该乘积值之后,需要考虑的是,如何将该值传递到下一个函数中。在不借助外部变量的情况下,此处考虑使用函数的内置 arguments
对象。
代码如下:
// 实现 n*(n-1) +...+ 4*3 + 3*2 + 2*1
function reference(n) {
return n <= 1 ? (arguments[