// 1.
function fn(n) {
if (n <= 1) {
return 1;
} else {
return n * fn(n - 1);
}
};
// fn(10)==>10*fn(9)==>10*9*fn(8)==>...==>10*9*...*2*fn(1)
var re = fn(10);
console.log(re); // 3628800
// 2.
function fn(n) {
if (n <= 0) {
return 0
} else {
return n + fn(n - 4)
}
};
var re = fn(2022); // 2022+2018+2014+2010+...+a(a>0)
console.log(re);
假设只知道数组内部全是数字和数组的混合 打印出所有的数字
var arr = [[1, 2, 3, 4, [2, 3, 4, 5],[2, 3, 4, 5],[4, 54, 2, 6]],[2, 3, 4, 5, 6]];
function fn(arr) {
// 遍历数组
for (var i = 0; i < arr.length; i++) {
if (typeof arr[i] == 'number') {
console.log(arr[i]);
} else {
fn(arr[i])
}
}
};
fn(arr);
fn标识符的问题 因为它是函数定义式的名字 函