`

js中递归函数的使用方法例子

阅读更多

转自:http://blog.csdn.net/jbxue123/article/details/38822907
分享下js递归函数用法,所谓递归函数就是在函数体内调用本函数。

使用递归函数一定要注意,处理不当就会进入死循环。

例子,用js递归函数计算10以内的阶乘、

[javascript] view plaincopyprint?
 
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   
  2. <html xmlns="http://www.w3.org/1999/xhtml">   
  3. <head>   
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   
  5. <title>js中递归函数的使用_www.jbxue.com</title>   
  6. <script type="text/javascript">   
  7. function f(num){   
  8. if(num<1){   
  9. return 1;   
  10. }else{   
  11. return f(num-1)*num;   
  12. }   
  13. }   
  14. </script>   
  15. </head>   
  16. <body>   
  17. <script type="text/javascript">   
  18. alert("10!的结果为:"+f(10));   
  19. </script>   
  20. </body>   
  21. </html>  
分享到:
评论

相关推荐

    JavaScript递归函数定义与用法实例分析

    本文实例讲述了JavaScript递归函数定义与用法。分享给大家供大家参考,具体如下: 递归函数是一个函数通过名字调用自身的情况下形成的,比如经典的递归阶乘函数: function factorial(num) { if (num &lt;= 1) { ...

    javascript递归函数定义和用法示例分析

    递归函数:是指函数直接或间接调用函数本身,则称该函数为递归函数。 这句话理解起来并不难,从概念上出发,给出以下的例子: function foo(){ console.log("函数 foo 是递归函数。"); foo(); } 这个例子的 foo ...

    js 递归和定时器的实例解析

    这是一个经典的递归阶乘函数,但是在js中这么调用可能会出现一些错误:例如如下代码 var anotherFactorial = factorial; factorial = null; alert&#40;anotherFactorial&#41;// 出错 以上代码先把factorial()函数...

    tailcall:消除尾部递归函数调用

    尾叫tailcall是一个browserify转换和命令行实用程序,可用于消除递归函数中的尾部调用(TCO =尾部调用优化)。 这样可以防止使用的调用堆栈过度增长,并且通常可以提高性能(在大多数情况下)。 尾调用优化是...

    Javascript 实现匿名递归的实例代码

    比如想要返回一个匿名递归函数,又或者是定义一个匿名递归函数并直接调用它,该怎样去做呢?本文将来探讨一下它的实现。 实名递归 我们还是先从实名递归说起吧,还是用那个最简单的求阶乘的例子: function fact(n)...

    进阶JavaScript之玩转递归与数列

    递归思想就是将一个问题转换为一个已解决的问题来实现例子:1,2,3,4,...,100,累加的结果首先假定递归函数已经写好,假设是foo,即foo(100)就是求1到100的和寻找递推关系,就是n与n-1,或n-2之间的关系:foo(n)==n+...

    deep-freeze:在对象和函数上递归Object.freeze()

    $ node example/deep.jstruetrue方法 var deepFreeze = require ( 'deep-freeze' )deepFreeze(obj) 对作为函数或对象的obj所有未冻结属性,递归调用Object.freeze(obj) 。执照公共区域部分基

    JavaScript语言精粹.pdf

    1.1 为什么要使用JavaScript 1.2 分析JavaScript 1.3 一个简单的试验场 第2章 语法 2.1 空白 2.2 标识符 2.3 数字 2.4 字符串 2.5 语句 2.6 表达式 2.7 字面量 2.8 函数 第3章 对象 3.1 对象字面量 ...

    JavaScript语言精粹

    4.8 递归 4.9 作用域 4.10 闭包 4.11 回调 4.12 模块 4.13 级联 4.14 套用 4.15 记忆 5:继承 5.1 伪类 5.1 对象说明符 5.2 原型 5.3 函数化 5.4 部件 6:数组 6.1 数组字面量 6.2 长度 6.3 删除 ...

    JavaScript中callee和caller的区别与用法实例分析

    本文实例讲述了JavaScript中callee和caller的区别与用法。分享给大家供大家参考,具体如下: 1.callee 在函数的内部,有两个特殊的对象:arguments和this。其中arguments是一个类似数组的对象,包含着传入函数的所有...

    婚纱摄影网站java源码-Recursion-Practice-Website:RecursionPromptsWithSolutions和D

    旅游摄影网站java源码递归练习 ...这给我们留下了两个基本条件,每个递归函数都应该包括: 一个base案例 recursive案例 这是什么意思呢? 让我们考虑一个愚蠢的例子: function stepsToZero ( n ) { if

    filter-files:递归读取目录并返回文件列表,将其过滤为仅包含(可选)过滤器函数返回“ true”的文件。 同步和异步

    递归读取目录并返回文件列表,将其过滤为仅包含(可选)过滤器函数返回true 。 同步和异步。 安装 用安装 npm i filter-files --save 运行测试 npm test 用法 var filter = require ( 'filter-files' ) ; 同步 ...

    《JavaScript语言精粹[修订版]》高清版_2012.09_【蝴蝶书】_172页完整版

    Douglas Crockford 在本书中剥开了JavaScript 沾污的外衣,抽离出一个具有更好可靠性、可读性和可维护性的JavaScript 子集,让你看到一门优雅的、轻量级的和非常富有表现力的语言。作者从语法、对象、函数、继承、...

    fn-proxy:简单的函数代理

    允许在 JavaScrpipt 中进行无点递归,并模拟惰性函数评估。 安装 $ npm install fn-proxy 运行规范(确保安装了jasmine-node ) $ npm test 用法 需要模块 var proxy = require ( 'fn-proxy' ) ; 例子 所有示例...

    JS数组求和的常用方法总结【5种方法】

    本文实例总结了JS数组求和的常用方法。分享给大家供大家参考,具体如下: 题目描述 计算给定数组 arr 中所有元素的总和 输入描述: 数组中的元素均为 Number 类型 输入例子: sum([ 1, 2, 3, 4 ]) 输出例子: 10 ...

    PHP和MySQL Web开发第4版pdf以及源码

    5.3 在PHP中使用函数 5.3.1 调用函数 5.3.2 调用未定义的函数 5.3.3 理解字母大小写和函数名称 5.4 理解为什么要定义自己的函数 5.5 了解基本的函数结构 5.5.1 函数命名 5.6 使用参数 5.7 理解作用域 5.8 ...

Global site tag (gtag.js) - Google Analytics