关于JS递归操作

function f(num){

    if(num<=1){

      return 1;

    }else{

      return num * arguments.callee(num-1);

    }

}


alert(f(5)); //120


这里为什么结果会是120  arguments.callee(num-1);callee指向的是f  

那么这个结果不应该是f(num-1) //5-1=4  

为什么执行的是5*4*3*2*1 呢 原理是什么


暮色呼如
浏览 579回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript