1、通过递归来求阶乘
function factorial(n) { return (n > 1) ? n * f(n - 1) : n}
2、交换值
1. var temp = a; a = b; b = temp; (传统,但需要借助临时变量)
2. a ^= b; b ^= a; a ^= b; (需要两个整数)
3. b = [a, a = b][0] (借助数组)
4. [a, b] = [b, a]; (ES6,解构赋值)
5. a = a + b; b = a - b; a = a - b; (小学奥赛题)
3、数组克隆
arr.slice(0)
4、数组最小值
function minArr(arr) { return Math.min.apply(null, arr)}
5、数组最大值
function maxArr(arr) { return Math.max.apply(null, arr)}