首页 > 代码库 > console.log((function f(n){return ((n > 1) ? n * f(n-1) : n)})(5))调用解析

console.log((function f(n){return ((n > 1) ? n * f(n-1) : n)})(5))调用解析

console.log((function f(n){return ((n > 1) ? n * f(n-1) : n)})(5));

5被传入到函数,函数内部三元计算,5 > 1成立,运算结果是5*f(4),二次运算,5*4*f(3),依次类推,最终是5*4*3*2,最终返回结果是120。

如图:

技术分享

 

console.log((function f(n){return ((n > 1) ? n * f(n-1) : n)})(5))调用解析