您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 薪酬管理 > 第五章 ASP中的脚本语言JavaScript
第五章ASP中的脚本语言JavaScript学习目标:系统学习JavaScript中变量和常量的定义方式、作用域以及数据类型,JavaScript中的数据运算符,程序结构以及主要函数,JavaScript中对象创建以及对象的属性、方法和事件驱动。学习要求:■了解:JavaScript语言的特点及组成部分,对象与事件有关的概念。■掌握:变量的定义方式、变量的名称,数据类型及变量的作用域,常量的数据类型,JavaScript中的运算符、程序结构和主要的函数。JavaScript是Netscape开发的一种解释性的基于对象的脚本语言。JavaScript完全实现了ECMAScript-262语言规范并提供了一些增强特性。和C++和Java这样成熟的面向对象语言相比,JavaScript功能要弱一些,它不能编写独立运行的应用程序,但可以和HTML结合使用。5.1、JavaScript简介JavaScript和VBScript、script等一样,是一种脚本语言。它可以直接嵌入到HTML文档中,浏览器能够理解并能够在页面下载后对JavaScript语句进行解释执行。由于JavaScript是在浏览器中解释执行的,所以,它具有平台无关性,无论是什么系统,只要用户使用的浏览器支持JavaScript,JavaScript就能够在其中正确运行。JavaScript是一种功能强大的语言,它可以和HTML语言完美的结合在一起。运用JavaScript可以控制HTML页面,并对页面中某些事件作出响应,例如,可以在页面的表单提交时进行数据有效性验证。JavaScript还提供了许多内置对象和浏览器对象,运用这些对象,可以方便的进行编写脚本,实现一些其他语言所无法实现的功能。1、JavaScript语言和Java语言也许有读者会将JavaScript语言和Java语言混淆起来。实际上,虽然JavaScript语言与Java语言之间确实有一定的联系,如他们的语法元素都和C++很相似,都具有平台无关性,但它们是两种完全不同的语言。JavaScript是Netscape公司的产品,而Java是Sun公司的产品。Java是一种编译性的语言,必须通过Java编译器,将源程序编译成class,从而创建Javaapplet或者JavaApplication,然后客户端浏览器将Javaapplet下载下来之后才能执行。Javaapplet在页面占用了一定的区域,这块区域和HTML其他区域是完全独立的,Javaapplet就在着块区域内完成它的所有功能的。而JavaScript是一种解释型的语言,它将源代码直接写入HTML页面中,并不需要预先的编译工作,当浏览器将HTML文本下载下来后,由浏览器进行解释执行,JavaScript并不在页面中占用空间,而是对HTML页面中的对象进行控制处理,在整个页面中完成它的功能。从语法的风格来考虑,JavaScript和Java的确十分相似,但JavaScript要比Java自由得多。Java是一种强类型的语言,语法十分严谨,变量必须进行声明,并且必须指定其数据类型,一旦变量声明完成后,在Java中会进行强制类型检查,在以后的程序中,就不能再给这个变量赋其他类型的值。例如,如果一个变量是整数类型,就不能再给它赋字符串类型的值。而JavaScript是一种弱类型的语言。2、JavaScript的组成部分JavaScript是一种跨平台的、基于对象的脚本语言,虽然用户更多地在浏览器上使用JavaScript,但它同样能够用于服务器上。JavaScript语言中分为3个部分,即JavaScript核心语言、JavaScript客户端扩展和JavaScript客户器端扩展。下面就这3个部分进行简要的介绍。JavaScript核心语言JavaScript核心语言部分包括了JavaScript的基本语法:运算符、语句、函数以及一些JavaScript内置的对象━array对象、date对象和math对象,JavaScript核心语言中定义的是在客户端和服务器端都会用到的基本的语法。现在核心语言部分已经相当成熟。在Netscape公司和ECMA(欧洲计算机厂商协会)及其它公司的共同努力下,在JavaScript核心语言的基础上制定了一个标准化的、国际化的编程语言,名称为ECMAScript。现在ECMAScript已经得到了广泛使用,用VRML编写的脚本中,就可以对页面上的对象进行控制,完成许多功能,例如,在页面中处理鼠标单击,表单输入以及控制页面的浏览等。由于在浏览器上广泛运用的正是JavaScript客户端扩展部分,所以将对这两部分进行重点介绍。JavaScript服务器端扩展在服务器端运行的JavaScript在核心语言的基础上扩展了在服务器上运行需要的对象,这些对象可以与关系数据库互联,可以对服务器上文件进行控制,还可以在应用程序之间变换信息。3、JavaScript的发展Netscape公司最初计划推出的语言名称是LiveScript,但不久之后,出现了Java,Netscape公司又将其更名为JavaScript。最初的JavaScript版本是JavaScript1.0,现在JavaScript已经发展到JavaScript1.5。虽然,JavaScript是Netscape公司的产品。但现在Internetexplorer浏览器也能够很好的支持JavaScript。以前,Internetexplorer3.0对JavaScript的支持不是很好,JavaScript1.1的某些语言特性不能在Internetexplorer3.0中使用,不过在Internetexplorer4.0推出以后,这种情形已经得到了很大的改善。4、JavaScript程序的编辑和调试运用JavaScript是为了控制HTML页面上的对象,所以JavaScript代码必须与HTML页面结合在一起。与VBScript一样,为了能将JavaScript代码嵌入到HTML文档中,script标记的language属性应改为scriptlanguage=“JavaScript”,script标记的src属性使得页面能够调用写在源文件中JavaScript函数。包含在HTML页面中的函数只能在当前页面中调用,而在源文件中,这样就可以在多个页面之间共享代码,只需要编写一次函数就可以被多个页面调用,在修改函数时,也只要修改一次。运用这种方法可以有效地减轻代码编写的工作量。例如,下面的script标记引用了一个名为text.js的源文件:scriptlanguage=JavaScriptsrc=“js/text.js”//JavaScript代码/script这样,包含在script标记中的JavaScript代码就可以调用text.js中的函数。在引用源文件时可以使用两种方式:●使用相对路径。Src属性是文件的相对路径,例如,上面的例子。●使用URL地址。Src属性中是文件的URL地址,例如:scriptsrc=当使用src引用JavaScript源文件时,源文件必须以.js为文件后缀名,并且,在源文件中使用JavaScript代码不能包含任何HTML标签。与VBScript一样,编写页面时要注意下载时运行JavaScript代码的位置与调用时运行JavaScript代码的位置不同。5.2、JavaScript的变量无论是编程语言还是脚本语言,变量都是最基本的元素,在脚本运行时,往往需要用一个有名称的单元将信息存储起来,这个有名称的单元就是变量。1、变量的定义方式JavaScript是使用关键字var来定义变量的。JavaScript并没有强制要求变量必须先定义才使用,但是先定义变量在使用它是一种良好的编程风格。例如,下面的语句中定义了一个名为box的变量:Varbox;在定义完变量后,就可以对变量进行赋值操作,将信息存储到变量中去。例如,下面的语句将3存储到名为box的单元中去:box=3;下面的语句的操作是先将box变量的值取出,在加上8后重新存入到box变量中去:box=box+8;在定义变量时,可以将变量的定义和初始化工作分开进行,也可以将变量的定义和初始化工作在一条语句中完成。例如,下面的语句将变量的定义和初始化工作分开完成:Varbox;box=3;下面的语句将变量的定义和初始化工作在一条语句中完成:box=3;如果声明了一个变量但没有对其进行赋值,则该变量存在且为undifined类型。不能再没有声明变量的情况下使用一个变量,这样将会导致运行时产生错误。例如:Varbox=x-y//产生错误,因为x和y不存在2、变量名称用户在JavaScript中定义变量时,JavaScript对变量名称的命名做了一定的限制。●在JavaScript中定义的变量名称不能和保留字冲突。保留字是JavaScript中已经使用的单词或者保留在以后的版本中可能使用的单词,例如,var是JavaScript用于定义变量的保留字,在给变量命名时,就不能使用var作为变量的名称。JavaScript的保留字如下所示:AbstractBooleanbreakbytecasecatchcharclassconstcontinueDebuggerdefaultdeletedodoubleelseenumexportextendsfalseFinalfinallyfloatforfunctiongotoifimp;ementsimporininstaceofintInterfacelongnativenewnullpockageprivateprotectedpublicreturnShortstaticsuperswitchsynchronizedthisthrowthrowstransientstrueTrytypeofvarvoidvolatilewhilewith●变量名必须以字母或者下划线(-)开始,不能以数字或者其他非字母字符作为变量名的开始字符,例如,-book和book都是合法的变量名称,而]book和3book则是非法的变量名称。●变量名不能包含空格,happynewyear就不能够视为是一个合法的变量名。●因为JavaScript是区分大小写的,所以在给变量命名的时候,也要考虑到大小写的不同。例如,box、Box、boX在JavaScript中式不同的变量。3、数据类型JavaScript不要求预先确定变量的数据类型,但实际上,每个JavaScript变量都对应着一个数据类型的值,例如,如果box=3,那就认为box变量时数值类型的变量。下表是JavaScript的一些数据类型。JavaScript语言是一种弱类型语言,弱类型语言中变量的赋值的数据类型也是可以发生变化,这时弱类型语言所不能允许的。例如,下面的语句先将boxNumber变量赋值为一个数值类型的数据,然后,再将这个变量赋值为一个字符串类型的数据:VarboxNumber=5;boxNumber=“Therearefiveboxes”类型说明字符串类型处于引号内的一组字符数值类型整数或者小数布尔类型逻辑结果,只有真或假两种情况空类型代表着一个空值对象类型代表着JavaScript中的对象下面对这些数据类型进行进一步的讨论:字符串类型字符串类型的变量所代表的值是处于引号内的一组字符,这一组字符的长度不定,而且并不要求字符串一定是有意义的单词,例如,“happybaby”是一个字符串,但“{}”同样是一个字符串。例如,可以将“happybaby”赋给变量MyMessage,其语句如下:MyMessage=“HappyBaby”;不过需要注意的是,对于数字字符串(数字字符串就是其中字符全部都是由数字组成的字符串),它所代表的也只是一组字符,例如,“185”所代表的并不是实际意义上的185,而只是一组字
本文标题:第五章 ASP中的脚本语言JavaScript
链接地址:https://www.777doc.com/doc-3791037 .html