1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

alert(sum(10));//求1!+...+10!

function sum(num){

//初始化数组

var n = [];

for(var i=0;i<num;i++){

n[i]=i+1;

}

jc(n);

//计算前n阶乘之和,即数组之和

return eval(n.join("+"));

}

//将每个阶乘结果放入到数组中形成阶乘数组

function jc(arr){

for(var i=1;i<arr.length;i++){

arr[i]=arr[i-1]*arr[i];

}

return arr;

}