![Java Web从入门到精通(第3版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/416/31794416/b_31794416.jpg)
3.4 函数
函数实质上就是可以作为一个逻辑单元对待的一组JavaScript代码。使用函数可以使代码更为简洁,提高重用性。在JavaScript中,大约95%的代码都包含在函数中。由此可见,函数在JavaScript中是非常重要的。
3.4.1 函数的定义
函数是由关键字function、函数名加一组参数以及置于大括号中需要执行的一段代码定义的。定义函数的基本语法如下:
![](https://epubservercos.yuewen.com/3A7F3C/17214367504799006/epubprivate/OEBPS/Images/figer962.jpg?sign=1739235166-NE0zyStua8zZVeiwJjtuDvxZklw7KFhe-0-bcab5b432bc96411c881923922039303)
参数说明:
functionName:必选项,用于指定函数名。在同一个页面中,函数名必须是唯一的,并且区分大小写。
parameter:可选项,用于指定参数列表。当使用多个参数时,参数间使用逗号进行分隔。一个函数最多可以有255个参数。
statements:必选项,是函数体,用于实现函数功能的语句。
expression:可选项,用于返回函数值。expression为任意的表达式、变量或常量。
【例3.25】 定义一个用于计算商品金额的函数account(),该函数有两个参数,用于指定单价和数量,返回值为计算后的金额。具体代码如下:
![](https://epubservercos.yuewen.com/3A7F3C/17214367504799006/epubprivate/OEBPS/Images/figer872.jpg?sign=1739235166-c4OQJqnGdCXcr53LS6i26HF9iNqQCLzm-0-fc3ac09db3c428ad183b453b5cc55036)
3.4.2 函数的调用
函数的调用比较简单,如果要调用不带参数的函数,使用函数名加上括号即可;如果要调用的函数带参数,则在括号中加上需要传递的参数;如果包含多个参数,各参数间用逗号分隔。
如果函数有返回值,则可以使用赋值语句将函数值赋给一个变量。
【例3.26】 对例3.25中定义的函数account()可以通过以下代码进行调用。
account(10.6,10);
说明
在JavaScript中,由于函数名区分大小写,在调用函数时也需要注意函数名的大小写。
【例3.27】 定义一个JavaScript函数checkRealName(),用于验证输入的字符串是否为汉字。(实例位置:资源包\TM\sl\3\7)
(1)在页面中添加用于输入真实姓名的表单及表单元素。具体代码如下:
![](https://epubservercos.yuewen.com/3A7F3C/17214367504799006/epubprivate/OEBPS/Images/figer873.jpg?sign=1739235166-K4qRBmHN5oeDl7YHdhtiLAkBSP1qt7rw-0-8fa07b391857cca953982d094000815c)
(2)编写自定义的JavaScript函数checkRealName(),用于验证输入的真实姓名是否正确,即判断输入的内容是否为两个或两个以上的汉字。checkRealName()函数的具体代码如下:
![](https://epubservercos.yuewen.com/3A7F3C/17214367504799006/epubprivate/OEBPS/Images/figer874.jpg?sign=1739235166-3ljlIHadAfHAxhnfEGCumgc2JjqxCvII-0-6b255125653af57bcebdb1da06a2202a)
说明
正确的真实姓名由两个以上的汉字组成,如果输入的不是汉字,或是只输入一个汉字,都将被认为是不正确的真实姓名。
(3)在“检测”按钮的onclick事件中调用checkRealName()函数。具体代码如下:
<input name="Button" type="button" class="btn_grey" onclick="checkRealName()" value="检测">
运行程序,输入真实姓名“cdd”,单击“检测”按钮,将弹出如图3.15所示的对话框;输入真实姓名“绿草”,单击“检测”按钮,将弹出如图3.16所示的对话框。
![](https://epubservercos.yuewen.com/3A7F3C/17214367504799006/epubprivate/OEBPS/Images/figer875.jpg?sign=1739235166-L0gbwt20atx16QsFXCP1nHb0zgOai647-0-37b89f1eabea190eed4e4e9546c35fdc)
图3.15 输入的真实姓名不正确
![](https://epubservercos.yuewen.com/3A7F3C/17214367504799006/epubprivate/OEBPS/Images/figer876.jpg?sign=1739235166-hm2LLRj9hpYP8oBf5781VljTxd9rKndw-0-f60b47a4c6879018e3edc7c8143ea003)
图3.16 输入的真实姓名正确