1.阶乘的时候,函数一般要用到递归算法,所以函数内部一定会调用自身

//递归,阶乘
function sum(num){
    if (num<=1) {
        return 1;
    } else{
        return num*sum(num-1);   //自己调用自己,递归
    }
}
alert(sum(4));

2.如果函数名一旦发生改名,所需要跟着一起修改不仅仅是在调用的时候,在内部递归的时候也会跟着一起修改,如果在函数内部有很多此递归,这时修改起来就很麻烦,如果有一个地方没修改,其结果都会出错,这时候就用到arguments.calle(),递归,自己调用自己

function box(num){
    if (num<=1) {
        return 1;
    }else{
        return num*arguments.callee(num-1);
    }
}
alert(box(4));  //其结果和上面的一样

 

相关文章:

  • 2021-11-12
  • 2021-09-02
  • 2021-09-20
  • 2021-05-30
  • 2022-02-27
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-01-12
  • 2022-12-23
  • 2022-01-30
  • 2022-12-23
  • 2022-01-22
相关资源
相似解决方案