Javascript 阶乘函数调用自身
我遇到了这个函数,它工作得很好,但是我不明白为什么在阶乘函数中可以调用阶乘。有人能给我解释一下吗Javascript 阶乘函数调用自身,javascript,function,Javascript,Function,我遇到了这个函数,它工作得很好,但是我不明白为什么在阶乘函数中可以调用阶乘。有人能给我解释一下吗 function factorial(n) { if(n ==0) { return 1; }else{ return factorial(n-1) *n; } } console.log(factorial(8)); //Logs 40320 这叫做递归。什么是递归 递归只在函数调用自身时发生 您可以在JavaScript中找到更多信息,这是一种称为递归的软件工程数据
function factorial(n) {
if(n ==0) {
return 1;
}else{
return factorial(n-1) *n;
}
}
console.log(factorial(8));
//Logs 40320
这叫做递归。什么是递归 递归只在函数调用自身时发生 您可以在JavaScript中找到更多信息,这是一种称为递归的软件工程数据结构和算法概念 递归是函数调用自身的编程概念。对于阶乘函数,根据观察,对于所有大于1的整数n,阶乘n=n*阶乘n-1。例如。factorial5=5*factorial4 这意味着,在实现中,函数可以使用n-1调用自己,并将结果乘以n 你可以从中读到更多
递归已经完成。请阅读此代码,这是有效的 函数因式化枚举{ //步骤1.创建变量结果以存储num var结果=num; //如果num=0或num=1,阶乘将返回1 如果num==0 | | num==1 返回1; //步骤2.创建WHILE循环 而num>1{ num-;//每次迭代递减1 result=result*num;//或result*=num; /* num num-var result result*=num 第一次迭代:5 4 5 20=5*4 第二次迭代:432060=20*3 第三次迭代:3 2 60 120=60*2 第四次迭代:21120=120*1 第五次迭代:10120 WHILE循环的结束 */ } //步骤3.返回所提供整数的阶乘 返回结果;//120 }
console.logfactorialize5;这叫做递归为什么阶乘可以在阶乘中引用。-因为它是在作用域中声明的函数。询问者不是问如何生成阶乘函数,而是问他们发布的递归函数如何工作