一,计算数组的极值 f nction smallest(array){ ret rn math.min.apply(math, array); } f nction largest(array){ ret rn math.max.apply(math, array); } smallest([0, 1, 2.2, 3.3]);  0 largest([0, 1, 2.2, 3.3]);  3.3 用apply原因是math.max,math.min后面不能是数组类型; (...[14, 3, 77]) 二,斐波那契数列,黄金分割线,兔子序列 f nction fib(n m) { if (n m  0) ret rn 0; if (n m  1) ret rn 1; ret rn fib(n m - 2) + fib(n m - 1); } console.log(fib(6)) 8 尾递归优化过的 fibonacci 数列实现如下. f nction fibonacci2 (n , ac1 = 1 , ac2 = 1) { if( n = 1 ) {ret rn ac2}; ret rn fibonacci2 (n - 1, ac2, ac1 + ac2); } fibonacci2(100)   fibonacci2(1000)  7.0e+208 fibonacci2  infinity 二,es6求和算法 f nction add(...val es) { let s m = 0; for (var val of val es) { s m += val; } ret rn s m;