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)); ?//其结果和上面的一样
Js arguments.callee();函数自己调用自己
原文地址:https://www.cnblogs.com/xiaoxinzi/p/8513614.html