/* 用三种方式实现: 使用循环。 使用递归,对 n > 1 执行 sumTo(n) = n + sumTo(n-1)。 使用 等差数列 求和公式. */ function sumTo_for(n){ let sum = 0; for(let i = 0; i<=n; i++) { sum += i; } return sum; } function sumTo_recursive(n){ if(n === 0){ return 0; } else { return n + sumTo_recursive(n-1); } } function sumTo(type){ switch (type) { case 'for': return sumTo_for; case 'recursive': return sumTo_recursive; default: break; } } console.log(sumTo('for')(1000)) console.log(sumTo('recursive')(1000))