美文网首页
关于JavaScript递归函数的小注意

关于JavaScript递归函数的小注意

作者: 学习狂魔 | 来源:发表于2017-07-21 23:40 被阅读0次

下面是常规正确的递归写法,用经典的阶乘举例子

function factorial(){
    if(num<=1){
       return 1;
  }else { 
      return num * factorial(num-1)
    }
}
这个是完全正确的写法,但是由于这种写法耦合性比较高,我们希望能解耦,让函数名字完全编程自由的存在形式。

接下来是解耦的写法,这个都是高程上面的只是我觉得很好的一个小细节,所以叫记录一下。

function factorial(){
    if(num<=1){
       return 1;
  }else { 
      return num * arguments.callee(num-1)
    }
}
经过这样的改变之后,变量名就不会受影响了,随便附一个新的名字
var func = factorial;
factorial = function(){
  return 0
}
alert(func(5));  //120
alert(factorial(5)) //0

下面这个也是关于arguments.callee解耦的一个简单的例子

function print (){
     source()
}
function source(){
    alert(source.caller)
}
print()
------------------------------
因为上面代码具有一定耦合性,所以解耦写法
 function print (){
     source()
}
function source(){
    alert(arguments.callee.caller)
}
print()

相关文章

  • 关于JavaScript递归函数的小注意

    下面是常规正确的递归写法,用经典的阶乘举例子 接下来是解耦的写法,这个都是高程上面的只是我觉得很好的一个小细节,所...

  • 前端算法学习-前篇

    递归 JavaScript中允许函数递归调用,示例: 当一个函数呗递归调用时,递归没有完成,函数的计算结果会被暂时...

  • JavaScript递归函数

    JavaScript 支持函数的递归调用。 所谓递归函数,就是在函数体内调用函数本身。 使用递归函数的一个常见例子...

  • JavaScript函数表达式——“函数的递归和闭包”的注意要点

    JavaScript函数表达式——“函数的递归和闭包”的注意要点 函数表达式的基本概念 name属性和函数提升 首...

  • JS函数的递归和闭包的注意要点

    JavaScript函数表达式——“函数的递归和闭包”的注意要点 函数表达式的基本概念 name属性和函数提升 首...

  • 递归

    定义: 函数在内部调用自身本身,这个函数就是递归函数。 注意 使用递归函数,需注意防止内存溢出。

  • 2018-06-06

    JavaScript中的递归 最简单的一句话介绍递归:函数内部自己调用自己 小递归案例: 计算 1+2+3+......

  • 递归函数

    递归函数定义:调用自身的函数叫做递归函数 递归函数的注意:至少有一个出口(返回),以免陷入死循环 递归和迭代的区别:

  • Python学习笔记五(函数、文件)

    函数 递归函数 什么是递归函数? 在一个函数的内部调用自身的函数,称为递归函数。注意: 分解:原问题可以分解为若干...

  • javascript基础函数

    获取url参数 JavaScript加载样式文件 匹配多个转行的空格 递归函数 列队递归函数 获取对象的样式 给元...

网友评论

      本文标题:关于JavaScript递归函数的小注意

      本文链接:https://www.haomeiwen.com/subject/xgrykxtx.html