美文网首页
嵌套-递归-内置函数

嵌套-递归-内置函数

作者: 挥剑斩浮云 | 来源:发表于2018-02-26 16:18 被阅读0次
  • 在了解了函数的定义和函数调用外,下面我们来介绍一下JavaScript中几种特殊的函数
  • JavaScript特殊函数有3种:
    (1)嵌套函数;
    (2)递归函数;
    (3)内置函数;
    一、嵌套函数
  • 嵌套函数,顾名思义,就是在一个函数的内部定义另外一个函数。不过在内部定义的函数只能在内部调用,如果在外部调用,就会出错
举例:
<!DOCTYPE html>
<html lang="en">
<head>
    <title></title>
    <script type="text/javascript">
        //定义阶乘函数
         function fun(a)
         {
             //嵌套函数定义,计算平方值的函数
             function multi (x)
             {
                 return x*x;
             }
             var m=1;
             for(var i=1;i<=multi(a);i++)
             {
                 m=m*i;
             }
             return m;
         }
         var sum =fun(2)+fun(3);
         document.write(sum);
    </script>
</head>
<body>
</body>
</html>
在浏览器预览效果
  • 分析:上面定义的multi函数只能在fun函数内部使用,如果在fun函数外部调用就会出错
    二、递归函数
  • 递归函数用于让一个函数从其内部调用其本身。不过需要注意的是,如果递归函数处理不当,就会使程序陷入“死循环”。为了防止“死循环”的出现,可以设计一个做自加运算的变量,用于记录函数自身调用的次数,如果次数太多就让它自动退出循环
语法:
function 递归函数名(参数1)
{
    递归函数名(参数2)
}
  • 说明:在定义递归函数时,需要2个必要条件:
    (1)首先包括一个结束递归的条件;
    (2)其次包括一个递归调用的语句;
举例:
<!DOCTYPE html>
<html lang="en">
<head>
    <title></title>
    <script type="text/javascript">
         var msg="\n函数的递归调用:\n\n";
         //响应按钮的点击事件
         function Test()
         {
             var result;
             msg+="调用语句:\n";
             msg+="    result=sum(20);\n";
             msg+="调用步骤:\n";
             result=sum(20);
             msg+="计算结果:\n";
             msg+="    result="+result+"\n";
             alert(msg);
         }
         //计算当前步骤加和值
         function sum(m)
         {
             if(m==0)
             {
                 return 0;
             }
             else
             {
                 msg+="    result="+m+"+sum("+(m-2)+ ");\n";
                 result=m+sum(m-2);
             }
             return result;
         }
    </script>
</head>
<body>
    <input type="button" value="测试" onclick="Test()"/>
</body>
</html>
在浏览器预览效果
  • 分析:在上述代码中,为了求取20以内的偶数和,定义了递归函数sum(m),而函数Test()对其进行调用,并使用alert()方法弹出相应的提示信息
  • 递归函数对于初学者来说可能比较难以理解,如果实在不会,可以直接忽略它。因为在JavaScript中是比较少用到递归函数的,递归函数往往都是在其他编程语言中用得比较多。到时候需要的时候我们回来翻翻就OK了
    三、内置函数
  • JavaScript中有2种函数:一种是用户自定义函数,另外一种是JavaScript语言内部已经定义好了,可以直接供我们调用的函数(也就是内置函数)
  • 内置函数由于已经在JavaScript语言内部定义好了的,也就是我们不需要自己定义就能用了。这样极大方便了我们的编程

相关文章

  • 嵌套-递归-内置函数

    在了解了函数的定义和函数调用外,下面我们来介绍一下JavaScript中几种特殊的函数 JavaScript特殊函...

  • Python札记20_递归、传递

    在Python中函数也是一种对象,有几种特别的应用: 递归函数 传递函数 嵌套函数 递归 递归又称为递回,是指在函...

  • Python语法-函数进阶篇

    主要是对函数的一些补充内容,包括递归函数,常见内置函数和常见的高阶函数的使用 递归函数 和所有语言一样,递归函数说...

  • c++ day03

    函数的原型声明 理解函数参数的传值 哥德巴赫猜想验证 函数引用调用示例 函数的嵌套调用 函数递归 递归就是自己调用...

  • 程序员大神教你学C语言编程——递归函数

    一、什么是递归函数 (1)递归函数即自调用函数,在函数内部直接或间接地自己调用自己,即函数的嵌套调用是函数本身。 ...

  • 2018-10-17 018 函数Def B

    今天写一写函数的(相对)高级用法,主要是递归、嵌套、作用域和匿名函数的东西; 函数嵌套 函数在定义时,内部可以再写...

  • python函数的递归

    一 函数递归调用介绍 函数不仅可以嵌套定义,还可以嵌套调用,即在调用一个函数的过程中,函数内部又调用另一个函数,而...

  • python基础-08-内置函数、作用域、闭包、递归

    python基础-内置函数、作用域、闭包、递归 1.常见的内置函数 2.函数内变量的作用域 3.内嵌函数和闭包 4...

  • 闭包及装饰器

    递归:是自己调用自己闭包:函数嵌套,并且保存局部作用域变量

  • Python之函数

    课程大纲 函数定义 函数的参数 函数的返回值 高阶函数 函数作用域 递归函数 匿名函数 内置函数 函数式编程 将函...

网友评论

      本文标题:嵌套-递归-内置函数

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