函数表达式--递归
遞歸
遞歸函數(shù)是在一個函數(shù)通過名字調(diào)用自身的情況下構(gòu)成的
function f(num) {if (num <= 1) {return 1;} else {return num * f(num - 1)} } f(3) // 6var anotherFactorial = f; f = null; //f指向一個空指針 alert(anotherFactorial(4)); //出錯!arguments.callee 是一個指向正在執(zhí)行的函數(shù)的指針,因此可以用它來實現(xiàn)對函數(shù)的遞歸調(diào)用
function f(num) {if (num <= 1) {return 1;} else {return num * arguments.callee(num-1)} } f(3) // 6var anotherFactorial = f; f = null; //f指向一個空指針 alert(anotherFactorial(4)); //24但在嚴(yán)格模式下,不能通過腳本訪問 arguments.callee ,訪問這個屬性會導(dǎo)致錯誤。不過,可以使用命名函數(shù)表達式來達成相同的結(jié)果
var factorial = (function f (num) { if (num <= 1){ return 1; } else { return num * f(num-1); } }); factorial(4) //24這種方式在嚴(yán)格模式和非嚴(yán)格模式下都行得通
來源:https://segmentfault.com/a/1190000016549753
轉(zhuǎn)載于:https://www.cnblogs.com/qixidi/p/10391025.html
總結(jié)
                            
                        - 上一篇: Redis单机部署、添加开机自启、配置参
 - 下一篇: MySql学习15----MySql日志