前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaScript入门(4)

JavaScript入门(4)

原创
作者头像
Qwe7
发布2022-04-04 08:12:02
4680
发布2022-04-04 08:12:02
举报
文章被收录于专栏:网络收集

4、函数

一、函数是什么?

函数,就是一个一系列JavaScript语句的集合,这是为了完成某一个会重复使用的特定功能。在需要该功能的时候,直接调用函数即可,而不必每次都编写一大堆重复的代码。并且在需要修改该功能的时候,也只要修改和维护这一个函数即可。

总之,将语句集合成函数,好处就是方便代码重用。并且,一个好的函数名,可以让人一眼就知道这个函数实现的是什么功能,方便维护。

函数的使用只需要2步:

(1)定义函数;

(2)调用函数;

二、函数的定义

在JavaScript中,使用函数前,必须用function关键字来定义函数。

函数常用方式有2种:

(1)不指定函数名的函数;

(2)指定函数名的函数;

1、不指定函数名的函数

语法:

代码语言:javascript
复制
function(参数1,参数2,….,参数n)

{

    //函数体语句

}

说明:

定义函数必须使用function关键字。

2、指定函数名的函数

“指定函数名的函数”是JavaScript中使用最广泛的方法,反而“不指定函数名的函数”用得比较少。

语法:

代码语言:javascript
复制
function 函数名(参数1,参数2,….,参数n)

{

    //函数体语句

    return 表达式;

}

说明:

定义函数必须使用function关键字来定义。

函数名必须是唯一的,尽量通俗易懂,并且跟你定义的代码有关。

函数可以使用return语句将某个值返回,也可以没有返回值。

参数是可选的,可以不带参数,也可以带多个参数。如果是多个参数的话,参数之间要用英文逗号隔开。

三、函数的调用

常用的函数调用方式有4种:

(1)简单调用;

(2)在表达式中调用;

(3)在事件响应中调用;

(4)通过链接调用;

四、特殊函数

JavaScript特殊函数有3种:

(1)嵌套函数;

(2)递归函数;

(3)内置函数;

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

1、嵌套函数

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

举例:

代码语言:javascript
复制

<!DOCTYPE html>

<html xmlns="http://www.w3.org/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>

在浏览器预览效果如下:

分析:

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

2、递归函数

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

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

语法:

代码语言:javascript
复制
function 递归函数名(参数1)

{

    递归函数名(参数2)

}

说明:

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

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

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

举例:

代码语言:javascript
复制
<!DOCTYPE html>

<html xmlns="http://www.w3.org/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>

在浏览器预览效果如下:

分析:

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

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

3、内置函数

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

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档