js递归实现方式
Posted 东庄
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js递归实现方式相关的知识,希望对你有一定的参考价值。
定义:
递归函数就是在函数体内调用本函数;
递归函数的使用要注意函数终止条件避免死循环;
递归实现形式:
1.声明一个具名函数,通过函数名调用
function f(a){ if(a<=1){ return 1 }else{ return a*f(a-1) } }
但是这样使用会因为 函数名 f 的变化而报错,
f = null f () // Uncaught TypeError: f is not a function
2. 使用arguments.callee代替函数名
在严格模式下不支持使用arguments.callee
h3.使用函数表达式
var fun = (function f(a){ if(a<=1){ return 1 }else{ return a*f(a-1) } }) // 或: var f = function (a){ if(a<=1){ return 1 }else{ return a*f(a-1) } } var fun = f;
以上是关于js递归实现方式的主要内容,如果未能解决你的问题,请参考以下文章
NC41 最长无重复子数组/NC133链表的奇偶重排/NC116把数字翻译成字符串/NC135 股票交易的最大收益/NC126换钱的最少货币数/NC45实现二叉树先序,中序和后序遍历(递归)(代码片段