Appearance
函数
函数写法
function add(x, y) {
return x + y;
}
console.log(add(1, 2));3箭头函数写法,用于解决 this 指向问题。
const add1 = (x, y) => x + y;
console.log(add1(1, 2));3循环实现阶乘。
function 阶乘(n) {
if (n < 2) {
return 1;
} else {
let result = 1;
for (let i = 1; i < n + 1; i ++) {
result *= i;
}
return result;
}
}
for (let i = 0; i < 11; i ++) {
console.log(i, 阶乘(i));
}0 1
1 1
2 2
3 6
4 24
5 120
6 720
7 5040
8 40320
9 362880
10 3628800递归实现阶乘。
function 阶乘(n) {
if (n < 2) {
return 1;
} else {
return 阶乘(n - 1) * n;
}
}
for (let i = 0; i < 11; i ++) {
console.log(i, 阶乘(i));
}递归会进行堆栈,有溢出的问题,可以优化,但要看编程语言是否支持。编程语言对大数字的支持力度,也影响计算。
function 中间(n, result) {
if (n < 2) {
return result;
}
return 中间(n - 1, result * n);
}
function 阶乘(n) {
if (n < 2) {
return 1;
}
return 中间(n, 1);
}
for (let i = 0; i < 11; i ++) {
console.log(i, 阶乘(i));
}0 1
1 1
2 2
3 6
4 24
5 120
6 720
7 5040
8 40320
9 362880
10 3628800