版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章JavaScript中的函数在编写程序时,经常需要重复使用某段程序代码,如果每次都重新编写,显然比较麻烦。因此,从程序代码的维护性和结构性角度考虑,可以将经常使用的程序代码依照功能独立出来,这就需要使用函数来定义,函数是完成特定任务的一段程序代码。本章将详细讲解JavaScript中函数的定义和使用。函数的定义定义函数的语法格式为:function函数名(形式参数1,形式参数2,…,形式参数n){
语句组;}其中:function是定义函数的JavaScript保留关键字;函数名是用户自己定义的,可以是任何有效的标识符,但通常要为函数赋予一个有意义的名称;函数可以不带参数或带多个参数,用于接收调用函数时传递的变量和值。通常把在定义函数时的参数称为形式参数,也可以简称为形参。形式参数必须用圆括号括起来放在函数名之后,圆括号不能省略,既使是不带参数时,也要在函数名后加上括号。如果有多个形式参数,形式参数之间用逗号分隔。函数的调用函数调用的方法非常简单,只需要在调用处写上函数名、圆括号以及要传递的参数值就可以了。函数调用的基本语法格式如下:函数名(实际参数1,实际参数2,…,实际参数n)其中:函数名要与定义函数时使用的名称相同;实际参数是要传递给函数的变量或值,也可以简称为实参,其参数的类型、个数、以及先后次序要与定义函数时的形式参数相同,参数名可以不同。函数在执行时,会按顺序将实际参数的值传递给形式参数。同定义函数时相同,函数名之后的圆括号是不能省略的,即使没有参数也要带圆括号。函数的参数如果在定义函数时声明了形式参数,调用函数时就应该为这些参数提供实际的参数。在JavaScript中,有两种参数传递方式:值传递和地址传递。当函数参数为直接量、基本类型变量时,JavaScript采用值传递的方式,即实参将变量的值传给形参,当在函数内对形参的值进行了修改时,并不影响实参的值。调用函数的实参应该与定义函数时的形参相对应,如果出现参数不等时,JavaScript按如下原则进行处理:如果调用函数时实参的个数多于定义函数时形参的个数,则忽略最后多余的参数。如果调用函数时实参的个数少于定义函数时形参的个数,则将最后没有接收传递值的参数的值赋为undefined。函数的返回值在函数中可以使用return语句使函数返回一个值。return语句的基本语法格式如下:return[表达式];其中,表达式的值即是要返回的值,表达式可以省略,省略表达式的return语句的返回值为undefined。程序在执行函数的过程中,当遇到return语句时,就将不再执行该语句后面的程序语句,而是将控制权转交给调用函数的程序。如果函数中没有return语句,那么JavaScript会隐含地在函数末尾添加一条返回undefined值的return语句。因此,可以说所有的函数都有返回值,只不过在没有显式使用return语句的函数中,系统缺省的添加一条返回undefined值的return语句。函数的嵌套函数嵌套定义的语法格式如下:functionfuncA(){//这里是函数funcA()的一条或多条语句,其中包括myfuncB()函数的定义function.funcB(){//这里是函数funcB()的一条或多条语句,可以使用funcA()函数中声明的变量}}在这个结构中,funcB称作内层函数,funcA称作外层函数。内层函数可以使用外层函数中定义的变量,但外层函数不能使用内层函数定义的变量。外层函数可以调用内层函数。采用嵌套函数定义后,其他函数不能直接访问内层函数,只能通过外层函数进行访问,从而实现了信息的隐藏。函数的递归JavaScript除了支持在一个函数中调用其他函数之外,还支持在一个函数中直接调用该函数本身,或者几个函数之间相互调用,这种调用称为函数的递归调用。下面示例代码是在函数f1()中直接调用函数自身的形式:functionf1(){
……f1();
……}函数的递归递归函数的另外一种形式是在几个函数之间相互调用,从而形成隐含递归调用。例如,下面示例代码是在函数f1()中调用f2()函数,又在f2()函数中调用f1()函数,从而形成递归。functionf1(){
……f2();
……}functionf2(){
……f1();
……}变量的作用域作用域通俗来讲,就是变量在什么范围起作用。在JavaScript中,根据变量的作用域可以把变量分为全局变量和局部变量。在函数外声明的变量,其作用域为全局作用域,也就是说,该变量在HTML文档中声明后的任何程序段中都可以使用,这样的变量称为全局变量。在函数内部声明的变量,其作用域为局部作用域,也就是说,该变量只能在定义它的函数内部使用,在这个函数外部,该变量没有意义,这样的变量称为局部变量。JavaScript中的系统函数encodeURI函数decodeURI函数parseInt函数isNan函数eval函数encodeURI函数encodeURI()函数可把字符串作为URI进行编码并返回,而URL是最常见的一种URI。该函数的语法定义如下:encodeURI(URIstring)其中参数URIstring是一个字符串,含有URI或其他要编码的文本。该方法的目的是对URI进行完整的编码,但不会对ASCII字母和数字进行编码,也不会对在URI中具有特殊含义的ASCII标点符号进行编码。decodeURI函数decodeURI()函数可对encodeURI()函数编码过的URI进行解码。该函数的语法定义如下:decodeURI(URIstring)其中参数URIstring是一个字符串,含有要解码的URI或其他要解码的文本。parseInt函数parseInt()函数用来将一个字符串按照指定的进制转换为一个整数,其语法格式为:parseInt(numString,[radix])其中,第一个参数是要进行转换的字符串,第二个参数是介于2到36之间的数值,用于指定进行字符串转换时所用的进制。如果省略该参数或其值为0,则字符串将以十进制来进行转换。如果它以“0x”或“0X”开头,将以十六进制来进行转换。isNan函数isNaN()函数用于检查其参数是否是非数字值。其语法格式为:isNaN(x)其中参数x,就是要检测的值。如果x是特殊的非数字值NaN(或者能被转换为这样的值),返回的值就是true。如果x是其他值,则返回false。eval函数eval()函数可以将某个参数字符串解析为一段JavaScript
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园紧急保安招聘合同
- 货车环境卫生合同
- 饲料配送货车司机聘用合同
- 绿色住宅地热井施工合同
- 设备租赁协议书范本
- 耕地无偿耕种协议书
- 瓦工劳务合同书样本
- 公共建筑光伏 框架合作协议书
- 集体林权承包合同范本
- 黄河干流供水合同范例
- 《有机波谱分析》期末考试试卷及参考答案
- 山泉水厂60000吨年山泉水生产线项目建设可行性研究报告
- 地源热泵维修规程
- 双块式无砟轨道道床板裂纹成因分析应对措施
- 安全生产领域刑事犯罪-两高司法解释PPT课件
- 土地增值税清算审核指南
- 死亡通知书模板
- 最新全球4G频段精编版
- 真速通信密拍暗访取证系统分册
- 基于阅读文本的写作课堂观察记录表
- 2018年建设工程质量检测企业组织架构、部门职能、商业模式、行业现状研究
评论
0/150
提交评论