zoukankan      html  css  js  c++  java
  • 递归函数

    递归函数实在一个函数通过名字调用自身的情况下构成的。

     1 window.onload = function() {
     2     var a = factorial;
     3     factorial = null;
     4     alert(a(4));
     5 };
     6 
     7 /**
     8  * 叠乘
     9  * @param  {叠乘的基数} num   n
    10  * @return {叠乘结果}         n*(n-1)*(n-2)*...*1
    11  */
    12 var factorial = (function f(num){
    13     if (num <= 1) {
    14         return 1;
    15     }else{
    16         return num * f(num - 1);
    17     }
    18 });

    这里使用的是命名函数表达式的方法实现递归,将这个函数赋值给 factorial 。这样即使在使用过程中对变量进行修改,也不会影响已赋值的递归函数进行调用,保证了代码的安全性。这种方式在严格模式和非严格模式下都适用。

  • 相关阅读:
    js_sl 分享
    js_sl 延迟菜单
    jszs 历史管理
    jszs 对象引用
    jszs 快速排序
    jszs 枚举算法
    dom cookie记录用户名
    dom 拖拽回放
    dom div重合提示
    dom 输入文字模拟滚动
  • 原文地址:https://www.cnblogs.com/tinyTea/p/9945610.html
Copyright © 2011-2022 走看看