3.4 函数

视频讲解:光盘\TM\lx\3\08函数.mp4

函数实质上就是可以作为一个逻辑单元对待的一组JavaScript代码。使用函数可以使代码更为简洁,提高重用性。在JavaScript中,大约95%的代码都是包含在函数中的。由此可见,函数在JavaScript中是非常重要的。

3.4.1 函数的定义

函数是由关键字function、函数名加一组参数以及置于大括号中需要执行的一段代码定义的。定义函数的基本语法如下:

        function functionName([parameter 1, parameter 2, …]){
            statements;
            [return expression; ]
        }

参数说明:

functionName:必选项,用于指定函数名。在同一个页面中,函数名必须是唯一的,并且区分大小写。

parameter:可选项,用于指定参数列表。当使用多个参数时,参数间使用逗号进行分隔。一个函数最多可以有255个参数。

statements:必选项,是函数体,用于实现函数功能的语句。

expression:可选项,用于返回函数值。expression为任意的表达式、变量或常量。

【例3.25】定义一个用于计算商品金额的函数account(),该函数有两个参数,用于指定单价和数量,返回值为计算后的金额。具体代码如下:

        function account(price, number){
            var sum=price*number;                                   //计算金额
            return sum;                                              //返回计算后的金额
        }

3.4.2 函数的调用

函数的调用比较简单,如果要调用不带参数的函数,使用函数名加上括号即可;如果要调用的函数带参数,则在括号中加上需要传递的参数;如果包含多个参数,各参数间用逗号分隔。

如果函数有返回值,则可以使用赋值语句将函数值赋给一个变量。

【例3.26】对例3.25中定义的函数account(),可以通过以下代码进行调用。

        account(10.6,10);

说明

在JavaScript中,由于函数名区分大小写,在调用函数时也需要注意函数名的大小写。

【例3.27】定义一个JavaScript函数checkRealName(),用于验证输入的字符串是否为汉字。(实例位置:光盘\TM\sl\3\7)

(1)在页面中添加用于输入真实姓名的表单及表单元素。具体代码如下:

        <form name="form1" method="post" action="">
        请输入真实姓名:<input name="realName" type="text" id="realName" size="40">
        <br><br>
        <input name="Button" type="button" class="btn_grey" value="检测">
        </form>

(2)编写自定义的JavaScript函数checkRealName(),用于验证输入的真实姓名是否正确,即判断输入的内容是否为两个或两个以上的汉字。checkRealName()函数的具体代码如下:

        <script language="javascript">
            function checkRealName(){
                var str=form1.realName.value;                           //获取输入的真实姓名
                if(str==""){                                            //当真实姓名为空时
                    alert("请输入真实姓名!"); form1.realName.focus(); return;
                }else{                                                  //当真实姓名不为空时
                    var objExp=/[\u4E00-\u9FA5]{2, }/;                  //创建RegExp对象
                    if(objExp.test(str)==true){                         //判断是否匹配
                        alert("您输入的真实姓名正确!");
                    }else{
                        alert("您输入的真实姓名不正确!");
                    }
                }
            }
        </script>

说明

正确的真实姓名由两个以上的汉字组成,如果输入的不是汉字,或是只输入一个汉字,都将被认为是不正确的真实姓名。

(3)在“检测”按钮的onclick事件中调用checkRealName()函数。具体代码如下:

        <input name="Button" type="button" class="btn_grey" onclick="checkRealName()" value="检测">

运行程序,输入真实姓名“cdd”,单击“检测”按钮,将弹出如图3.15所示的对话框;输入真实姓名“绿草”,单击“检测”按钮,将弹出如图3.16所示的对话框。

图3.15 输入的真实姓名不为汉字

图3.16 输入的真实姓名为汉字