Javascript 嵌套函数 - 递归函数 - 内置函数详解

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

JavaScript特殊函数有3种:

  • (1)嵌套函数;
  • (2)递归函数;
  • (3)内置函数;

下面详细给大家讲解一下这3中函数调用方式。

一、嵌套函数

嵌套函数,顾名思义,就是在一个函数的内部定义另外一个函数。不过在内部定义的函数只能在内部调用,如果在外部调用,就会出错。

举例:

<!DOCTYPE html>
<html xmlns="http://www.蚂蚁/1999/xhtml">
<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>

在浏览器预览效果如下:

Javascript 嵌套函数

上面定义的multi函数只能在fun函数内部使用,如果在fun函数外部调用就会出错,大家可以在“在线测试”中自己修改代码测试一下。

二、递归函数

递归函数是一种非常重要的编程技术,当年我在学习其他编程技术(如C、C++、Java等)都经常用到。

递归函数用于让一个函数从其内部调用其本身。不过需要注意的是,如果递归函数处理不当,就会使程序陷入“死循环”。为了防止“死循环”的出现,可以设计一个做自加运算的变量,用于记录函数自身调用的次数,如果次数太多就让它自动退出循环。

语法:

function 递归函数名(参数1)
{
    递归函数名(参数2)
}

说明:

在定义递归函数时,需要2个必要条件:

(1)首先包括一个结束递归的条件;

(2)其次包括一个递归调用的语句;

举例:

<!DOCTYPE html>
<html xmlns="http://www.蚂蚁/1999/xhtml">
<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>

在浏览器预览效果如下:

Javascript 递归函数

在上述代码中,为了求取20以内的偶数和,定义了递归函数sum(m),而函数Test()对其进行调用,并使用alert()方法弹出相应的提示信息。

递归函数对于初学者来说可能比较难以理解,如果实在不会,可以直接忽略它。因为在JavaScript中是比较少用到递归函数的,递归函数往往都是在其他编程语言中用得比较多。到时候需要的时候我们回来翻翻就OK了。

三、内置函数

JavaScript中有2种函数:一种是用户自定义函数,另外一种是JavaScript语言内部已经定义好了,可以直接供我们调用的函数(也就是内置函数)。

内置函数由于已经在JavaScript语言内部定义好了的,也就是我们不需要自己定义就能用了。这样极大方便了我们的编程。

关于JavaScript内置函数,我们在下一章详细为大家讲解。

CSDN:程序猿 寄语:
1、作为一个真正的程序员,首先应该尊重编程,热爱你所写下的程序,他是你的伙伴,而不是工具。
2、程序员可以让步,却不可以退缩,可以羞涩,却不可以软弱,总之,程序员必须是勇敢的。
3、编程是一种单调的生活,因此程序员比普通人需要更多的关怀,更多的友情。
4、程序不是年轻的专利,但是,他属于年轻。
5、没有情调,不懂浪漫,也许这是程序员的一面,但拥有朴实无华的爱是他们的另一面。
6、一个好汉三个帮,程序员同样如此。
7、一个100行的代码调试都可能会让程序员遇到很多挫折,所以,面对挫折,我们永远不能低头。
8、调试完一个动态连接函数,固然值得兴奋,但真正的成功远还在无数个函数之后。
9、程序是我的生命,但我相信爱她甚过爱我的生命。
10、信念和目标,必须永远洋溢在程序员内心。
11、就算我们站在群山之颠,也别忘记雄鹰依旧能从我们头顶飞过。骄傲是比用JAVA进行底层开发更可笑的东西。
12、这句话不是很文雅,彻底鄙视那些害怕别人超越自己而拒绝回答别人问题的程序员。
13、如果调试一个程序让你很苦恼,千万不要放弃,成功永远在拐角之后,除非你走到拐角,否则你永远不知道你离他多远,所以,请记住,坚持不懈,直到成功。
14、最累的时候,家人是你最好的归宿。
 

  • 19
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值