




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JavaScript语言与Ajax应用(第二版),主编董宁陈丹中国水利水电出版社,第2章JavaScript语法,2.1JavaScript语法基础2.2JavaScript数据类型2.3JavaScript运算符2.4JavaScript语句2.5JavaScript函数,2020年5月4日星期一,JavaScript语言与Ajax应用(第二版),2,2.1JavaScript语法基础,2.1.1变量2.1.2关键字与保留字2.1.3原始值与引用值,2020年5月4日星期一,JavaScript语言与Ajax应用(第二版),3,2.1.1变量,变量(variable)是相对于常量而言的,常量通常是一个不会改变的固定值,而变量是对应到某个值的一个符号,这个符号中的值可能会随着程序的执行而改变,因此称为“变量”。在JavaScript脚本语言中,声明变量的过程相当简单,JavaScript脚本语言使用关键字var作为其唯一的变量标识符,其用法为在关键字var后面加上变量名。,2020年5月4日星期一,JavaScript语言与Ajax应用(第二版),4,2.1.1变量,JavaScript中的变量命名同其他语言非常相似,这里要注意以下几点:第一个字符必须是字母(大小写均可),下划线(_)或者美元符号($);后续的字符可以是字母、数字、下划线或者美元符号;变量名称不能是关键字或保留字;不允许出现中文变量名,且大小写敏感。,2020年5月4日星期一,JavaScript语言与Ajax应用(第二版),5,2.1.2关键字与保留字,ECMA-262定义了JavaScript支持的一套关键字(keyword)。根据规定,关键字不能用作变量名或函数名。,2020年5月4日星期一,JavaScript语言与Ajax应用(第二版),6,表2-1JavaScript关键字,2.1.2关键字与保留字,JavaScript还定义了一套保留字(reservedword)。保留字在某种意义上是为将来的关键字而保留的单词。因此,保留字也不能被用作变量名或函数名。,2020年5月4日星期一,JavaScript语言与Ajax应用(第二版),7,表2-2JavaScript保留字,2.1.3原始值与引用值,在JavaScript中,变量可以存放两种类型的值,即原始值和引用值。原始值指的就是代表原始数据类型(基本数据类型)的值,即Undefined、Null、Number、String、Boolean类型所表示的值。引用值指的就是复合数据类型的值,即Object、Function、Array、以及自定义对象,等等。,2020年5月4日星期一,JavaScript语言与Ajax应用(第二版),8,2.2JavaScript数据类型,2.2.1基础数据类型2.2.2数据类型转换2.2.3引用类型,2020年5月4日星期一,JavaScript语言与Ajax应用(第二版),9,2.2.1基础数据类型,变量包含多种类型,JavaScript脚本语言支持的基本数据类型包括Number型、String型、Boolean型、Undefined型和Null型,分别对应于不同的存储空间。,2020年5月4日星期一,JavaScript语言与Ajax应用(第二版),10,表2-3基本数据类型,2.2.2数据类型转换,JavaScript会自动将某一个类型的数据转换成另一个类型的数据。JavaScript隐式类型转换的规则是:将类型转换到环境中应该使用的类型。JavaScript中除了可以隐式转换数据类型之外,还可以显式转换数据类型。显式转换数据类型可以增强代码的可读性。常用的类型转换的方法有以下几种。,2020年5月4日星期一,JavaScript语言与Ajax应用(第二版),11,2.2.2数据类型转换,1转换成字符串JavaScript中三种主要的原始值布尔值、数字、字符串以及其它对象都有toString()方法,可以把它们的值转换成字符串。各种类型向字符串转换的结果如下:undefined值:转换成“undefined”;null值:转换成“null”;布尔值:值为true,转换成“true”;值为false,转换成“false”;数字型值:NaN或数字型变量的完整字符串;其他对象:如果该对象的toString()方法存在,则返回toString方法的返回值,否则返回undefined。,2020年5月4日星期一,JavaScript语言与Ajax应用(第二版),12,2.2.2数据类型转换,2转换成数字提取整数的parseInt()方法parseInt()方法用于将字符串转换为整数,其格式为:parseInt(numString,radix)提取浮点数的parseFloat()方法parseFloat()方法用于字符串转换为浮点数,其格式为:parseFloat(numString),2020年5月4日星期一,JavaScript语言与Ajax应用(第二版),13,2.2.2数据类型转换,3基本数据类型转换在JavaScript中可以使用如下3个函数来将数据转换成数字型、布尔型和字符串型,下面看一下它的几个强制转换的函数:Boolean(value):把值转换成Boolean类型Nnumber(value):把值转换成数字(整型或浮点数)String(value):把值转换成字符串,2020年5月4日星期一,JavaScript语言与Ajax应用(第二版),14,2.2.3引用类型,1对象JavaScript中的对象是一个属性的集合,其中的每一个都包含一个基本值。对象中的数据时已命名的数据,通常作为对象的属性来引用,这些属性可以访问值。保存在属性中的每个值都可以是一个值或另一个对象,甚至是一个函数。对象使用花括号创建,例如下面的代码创建了一个名为myObject的空对象:varmyObject=;这里有一个带有几个属性的对象:vardvdCatalog=identifier:1,name:CohoVineyard;,2020年5月4日星期一,JavaScript语言与Ajax应用(第二版),15,2.2.3引用类型,2数组数组和对象一样,也是一些数据的集合,这些数据也可以是字符串类型、数字型、布尔型,或者是引用型。例如下面的定义:varscore=56,34,23,76,45;上述语句创建数组score,中括号“”内的成员为数组元素。由于JavaScript是弱类型语言,因此不要求目标数组中各元素的数据类型均相同,例如:varscore=56,34,23,76,45;,2020年5月4日星期一,JavaScript语言与Ajax应用(第二版),16,2.3JavaScript运算符,2.3.1算术运算符2.3.2逻辑运算符2.3.3关系运算符2.3.4位运算符,2020年5月4日星期一,JavaScript语言与Ajax应用(第二版),17,2.3.1算术运算符,算术运算符是最简单、最常用的运算符,可以使用它们进行通用的数学计算,2020年5月4日星期一,JavaScript语言与Ajax应用(第二版),18,表2-5算术运算符,2.3.2逻辑运算符,逻辑运算符通常用于执行布尔运算,JavaScript脚本语言的逻辑运算符包括“,2020年5月4日星期一,JavaScript语言与Ajax应用(第二版),23,2.4.1选择语句,switchcase语句提供了ifelse语句的一个变通形式,可以从多个语句块中选择其中一个执行。其基本语法结构如下:switch(a)casea1:statement1;break;casea2:statement2;break;default:statementn;,2020年5月4日星期一,JavaScript语言与Ajax应用(第二版),24,2.4.1选择语句,在JavaScript脚本语言中,“?.:”运算符用于创建条件分支。在动作较为简单的情况下,较之ifelse语句更加简便,其语法结构如下:(condition)?statementA:statementB;载入上述语句后,首先判断条件condition,若结果为真则执行语句statementA,否则执行语句statementB。,2020年5月4日星期一,JavaScript语言与Ajax应用(第二版),25,2.4.2循环语句,JavaScript中的循环语句包括while语句、dowhile语句、for语句和forin语句4种。1while语句while语句属于基本循环语句,用于在指定条件为真时重复执行一组语句。while语句的语法结构如下:while(conditions)statements;,2020年5月4日星期一,JavaScript语言与Ajax应用(第二版),26,2.4.2循环语句,2dowhile语句dowhile语句类似于while语句,不同的是while语句是先判断逻辑条件表达式的值是否为true之后再决定是否执行循环体中的语句,而dowhile循环语句是先执行循环体中的语句之后,再判断逻辑条件表达式是否为true,如果为true则重复执行循环体中的语句。dowhile语句的语法结构如下:dostatements;while(condition);,2020年5月4日星期一,JavaScript语言与Ajax应用(第二版),27,2.4.2循环语句,3for语句for循环语句也类似于while语句,使用起来更为方便。for语句按照指定的循环次数,循环执行循环体内语句(或语句块),它提供的是一种常用的循环模式,即初始化变量、判断逻辑条件表达式和改变变量值。for语句的语法结构如下:for(initialization;condition;loop-update)statements;,2020年5月4日星期一,JavaScript语言与Ajax应用(第二版),28,2.4.2循环语句,4forin语句使用forin循环语句可以遍历数组或者对指定对象的属性和方法进行遍历,其语法结构如下:for(变量名in对象名)statements;,2020年5月4日星期一,JavaScript语言与Ajax应用(第二版),29,2.4.3跳转语句,JavaScript跳转语句分为break语句和continue语句。1break语句使用break语句可以无条件地从当前执行的循环结构或者switch结构的语句块中中断并退出,其语法如下所示:break;由于它是用来退出循环或者switch语句,所以只有当它出现在这些语句时,这种形式的break语句才是合法的。,2020年5月4日星期一,JavaScript语言与Ajax应用(第二版),30,2.4.3跳转语句,2continue语句continue语句的工作方式与break语句有点类似,但是其作用不同。continue语句是只跳出本次循环而立即进入到下一次循环;break语句则是跳出循环后结束整个循环。,2020年5月4日星期一,JavaScript语言与Ajax应用(第二版),31,2.4.4异常处理语句,JavaScript可以捕获异常并进行相应的处理,通常用到的异常处理语句包括throw和try-catch-finally语句两种。1throw语句throw(抛出)语句的作用是抛出一个异常。所谓的抛出异常,就是用新号通知发生了异常情况或错误。throw语句的预防代码如下所示:throw表达式;,2020年5月4日星期一,JavaScript语言与Ajax应用(第二版),32,2.4.4异常处理语句,2try-catch-finally语句try-catch-finally语句是JavaScript中的用于处理异常的语句,该语句与throw语句不同。throw语句只是抛出一个异常,但对该异常并不进行处理,而try-catch-finally语句可以处理所抛出的异常。其语法形式如下所示:try/语句块1:要执行的代码catch(e)/语句块2:处理异常的代码finally/语句块3:无论异常发生与否,都会执行的代码,2020年5月4日星期一,JavaScript语言与Ajax应用(第二版),33,2.5JavaScript函数,2.5.1函数的创建与调用2.5.2函数的参数2.5.3函数的属性与方法2.5.4闭包,2020年5月4日星期一,JavaScript语言与Ajax应用(第二版),34,2.5.1函数的创建与调用,函数由函数定义和函数调用两部分组成,应首先定义函数,然后再进行调用,以养成良好的编程习惯。函数的定义应使用关键字function,其语法规则如下:functionfuncName(parameters)statements;return表达式;函数定义过程结束后,可在文档中任意位置调用该函数。引用目标函数时,只需在函数名后加上小括号即可。若目标函数需引入参数,则需在小括号内添加传递参数。如果函数有返回值,可将最终结果赋值给一个自定义的变量并用关键字return返回。,2020年5月4日星期一,JavaScript语言与Ajax应用(第二版),35,2.5.2函数的参数,在JavaScript中提供了一个arguments对象,该对象可以获取从JavaScript代码中传递过来的参数,并将这些参数存放在arguments数组中,因此也可以通过arguments对象来判断传递过来的参数的个数,引用属性arguments.length即可。arguments为数组,因此通过argumentsi可以获得实际传递的参数的值。由于JavaScript是一种无类型的语言,因此在定义函数时,不需要为函数的参数指定数据类型。事实上,JavaScript也不会去检测传递过来的参数的类型是否符合函数的需要。如果一个函数对参数的要求很严格,那么可以在函数体内使用typeof运算符来检测传递过来的参数是否符合要求。,2020年5月4日星期一,JavaScript语言与Ajax应用(第二版),36,2.5.3函数的属性与
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年绿色智能住宅项目施工监理及劳务分包综合服务合同
- 2025年度工业废气处理设施承包服务合同范本
- 2025年科技展览中心展品展示与现场清洁环保服务合同
- 2025年医疗机构医院感染控制项目聘用及实施管理合同
- 2025年新型环保脚手架租赁及安全性能评估服务协议
- 2025年KTV店面装修工程续签与维护服务协议
- 2025年度文化创意产业版权运营与保护合作协议
- 2025年度企事业单位车辆租赁合同及节假日租车优惠方案
- 2025年度时尚数码产品推广合作合同书
- 商务服务公司合同付款管理办法
- 肥料登记证授权合同范本
- 工业厂房租赁管理办法
- 2025年综合类-农艺师考试-农艺师考试-园艺工考试-高级花卉工考试历年真题摘选带答案(5卷100题)
- 辽宁动物检疫管理办法
- 小学六年级综合实践环境保护计划
- 肺癌免疫治疗病例分享
- 2025年汽车智能驾驶技术及产业发展白皮书-清华大学
- 2025云南师范大学辅导员考试题库
- 2025年国考行测试题及答案解析
- 联邦学习框架下的设备故障智能诊断算法研究
- 财务岗位安全培训课件
评论
0/150
提交评论