《第03章web应用程序开发.ppt》由会员分享,可在线阅读,更多相关《第03章web应用程序开发.ppt(61页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、WebWeb应用程序开发教程应用程序开发教程应用程序开发教程应用程序开发教程授课教师:授课教师:职务:职务:第第3章章 ASP脚本语言脚本语言课程描述课程描述课程描述课程描述ASPASP脚本语言包脚本语言包括括VBScriptVBScript和和JavaScritpJavaScritp。本。本节将结合大量实节将结合大量实例程序介绍例程序介绍ASPASP脚本语言的基础脚本语言的基础知识,为读者开知识,为读者开发发ASPASP数据库应数据库应用系统奠定基础。用系统奠定基础。本章知识点本章知识点pVBScriptVBScript编程基础编程基础pJavaScriptJavaScript编程基础编程基
2、础3.1VBScript编程基础编程基础p数据类型数据类型p常量和变量常量和变量p运算符运算符p函数与过程函数与过程p条件语句条件语句p循环语句循环语句p自定义过程和函数自定义过程和函数p错误处理错误处理3.1.1 数据类型数据类型子类型具体描述Empty未初始化的Variant数据,如果是数值型变量,则初始值为0;如果是字符型变量,则初始值是长度为0的字符串()Null空数据类型,即不包含任何有效数据的类型Boolean布尔类型,包含True和FalseByte字节类型,包含0 255之间的整数Integer整型,包含 32 768 32 767之间的整数Long长整型,包含-2 147 4
3、83 648 2 147 483 647 之间的整数Single单精度浮点数类型,负数范围为-3.402823E38 -1.401298E-45,正数范围为 1.401298E-45 3.402823E38。Double双精度浮点数类型,负数范围为-1.79769313486232E308 -4.94065645841247E-324,正数范围为 4.94065645841247E-324 1.79769313486232E308Currency货币类型,包含-922 337 203 685 477.5808 922 337 203 685 477.5807的数据String变长字符串类型,最
4、大长度可为 20 亿个字符Date(Time)日期(时间)类型,日期范围为公元从公元100年1月1日前 公元9999年12月31日Error包含错误号Object对象类型3.1.2 常量和变量常量和变量p常量具有固定的值,在程序中常量的值不能发生改变。在常量具有固定的值,在程序中常量的值不能发生改变。在VBScriptVBScript中,可以使用中,可以使用ConstConst关键字来定义常量。关键字来定义常量。【例例】声明常量声明常量AGEAGE,常量值为,常量值为3030,代码如下:,代码如下:p在在VBScriptVBScript中,字符串常量包含在两个双引号之间。中,字符串常量包含在两
5、个双引号之间。【例例】声明常量声明常量STRSTR,常量值为,常量值为“This is my first This is my first stringstring”,代码如下:,代码如下:3.1.2 常量和变量常量和变量pDimDim、PrivatePrivate和和PublicPublic关键字声明变量,声明变量关键字声明变量,声明变量时不要求指明变量的数据类型。时不要求指明变量的数据类型。Dim xPrivate yPublic zpPrivatePrivate用来声明私有变量用来声明私有变量;pPublicPublic用来声明公共变量用来声明公共变量;p通常在类中使用。通常在类中使用。
6、p在过程中使用在过程中使用DimDim来声明变量。来声明变量。3.1.2 常量和变量常量和变量1.1.声明简单变量声明简单变量pVBScriptVBScript声明变量的方法与声明变量的方法与Visual BasicVisual Basic中的要求不同。在中的要求不同。在Visual BasicVisual Basic中,声明变量必中,声明变量必须指定数据类型,例如须指定数据类型,例如Dim x As Integerp在在VBScriptVBScript中,声明变量时不需要指定变量类型。中,声明变量时不需要指定变量类型。【例例】声明变量声明变量TopTop,代码如下:,代码如下:Dim Top
7、p使用使用DimDim关键字可以同时声明多个变量。关键字可以同时声明多个变量。【例例】同时声明变量同时声明变量LeftLeft和和RightRight,代码如下:,代码如下:Dim Left,Rigthp变量可以不经声明而直接使用。变量可以不经声明而直接使用。【例例】不事先声明,直接向变量不事先声明,直接向变量MyStrMyStr赋值,代码如下:赋值,代码如下:p变量的命名规则如下:变量的命名规则如下:第1个字符必须是字母。不能包含句点。长度不能超过255个字符。3.1.2 常量和变量常量和变量2.2.声明数组变量声明数组变量pVBScriptVBScript支持数组变量,下面是一个声明数组变
8、量的例子。支持数组变量,下面是一个声明数组变量的例子。Dim a(5)p括号中的数字表示数组的上限,而不是数组元素的个数。括号中的数字表示数组的上限,而不是数组元素的个数。p直接对某一个数组元素赋值。直接对某一个数组元素赋值。【例例】直接向数组直接向数组a a的第的第2 2个元素赋值个元素赋值1 1,代码如下:,代码如下:a(1)=1p数组可以是多维的,下面是一个声明二维数组的例子。数组可以是多维的,下面是一个声明二维数组的例子。Dim b(2,2)p根据需要定义动态数组,例如:根据需要定义动态数组,例如:Dim c()3.1.2 常量和变量常量和变量p使用动态数组时,可以使用使用动态数组时,
9、可以使用ReDimReDim命令确定数组的维数和上限。命令确定数组的维数和上限。【例例】设置动态数组设置动态数组c c为一维数组,数组的上限为为一维数组,数组的上限为2020:ReDim c(20)p在执行在执行ReDimReDim命令时,如果数组中已经存在数据,可以使用命令时,如果数组中已经存在数据,可以使用PreservePreserve关键字保留数据。关键字保留数据。【例例】设置动态数组设置动态数组c c为一维数组,数组的上限为为一维数组,数组的上限为2525,同时保,同时保留数组留数组c c中原有的数据,代码如下:中原有的数据,代码如下:ReDim Preserve c(25)p如果没
10、有如果没有PreservePreserve关键字,在执行关键字,在执行ReDimReDim命令后,数组中原有命令后,数组中原有的数据将丢失。的数据将丢失。p动态数组在不需要使用时,可以使用动态数组在不需要使用时,可以使用EraseErase命令释放存储空间,命令释放存储空间,从而节省资源,例如:从而节省资源,例如:Erase cp如果对静态数组使用如果对静态数组使用EraseErase命令,会将数组的所有元素初始化。命令,会将数组的所有元素初始化。3.1.3 运算符运算符运算符类型运算符具体描述算 术运算符计算数的指数次方,例如 result=number exp*两个数相乘,例如 resul
11、t=number1*number2/两个数相除并返回以浮点数表示的结果,例如 result=number1/number2两个数相除并返回以整数形式表示的结果,例如 result=number1 number2Mod两个数相除并返回余数,例如 result=number Mod number2+计算两个数之和,例如 result=number1+number2-计算两个数的差或表示数值表达式的负值。例如 result=number1 number2或 number1赋 值运算符=赋值给一个变量,例如 var=value比 较运算符小于大于=大于或等于=等于不等于Is比较两个对象引用变量,例如
12、result=object1 Is object2,如果object1和object2都引用了同一个对象,则resutl为True;否则result为False连 接运算符&(+)强制两个表达式进行字符串连接,例如 result=str1&str2或 result=str1+str2逻 辑运算符And对两个表达式进行逻辑“与”运算,例如 result=exp1 And exp2Not对表达式进行逻辑“非”运算,例如 result=Not exp2Or对两个表达式进行逻辑“或”运算,例如 result=exp1 Or exp2Xor对两个表达式进行逻辑“异或”运算,例如 result=exp1
13、Xor exp23.1.4 函数与过程函数与过程p数学函数数学函数函数名具体描述Abs返回数字的绝对值Atn返回数值的反正切值Cos返回某个角的余弦值Eval计算表达式的值,并返回结果Exp返回 e(自然对数的底)的幂次方Int、Fix返回数据的整数部分Hex返回表示十六进制数字值的字符串Log返回数值的自然对数Oct返回表示数字八进制值的字符串Rnd返回一个随机数Round返回按指定位数进行四舍五入的数值Sng返回表示数字符号的整数。当参数大于0时,返回1;当参数小于0时,返回-1;当参数等于0时,返回0Sin返回某个角的正弦值Sqr返回数值的平方根Tan返回某个角的正切值3.1.4 函数与
14、过程函数与过程p字符串函数字符串函数函数名具体描述Asc返回字符串第一个字母的ASCII值Chr返回与指定的 ANSI 字符代码相对应的字符Filter对字符串数组进行过滤,将满足匹配条件的元素构成的数组返回InStr返回某字符串在另一字符串中第一次出现的位置InStrRev返回某字符串在另一个字符串中出现的从结尾计起的位置Join返回字符串,此字符串由数组中的多个子字符串连接而成LCase返回字符串的小写形式Left返回指定数目的从字符串的左边算起的字符Len返回字符串内字符的数目,或是存储一变量所需的字节数LTrim截去字符串的前导空格Mid从字符串中返回指定数目的字符Replace替换指
15、定字符串中的子串Right从字符串右边返回指定数目的字符Space返回由指定数目的空格组成的字符串Split将字符串按照指定的分隔符进行拆分,得到的子字符串保存在一维数组中返回StrComp返回字符串比较的值RTrim截去字符串尾部的空格String返回具有指定长度的、重复字符组成的字符串StrReverse返回字符串,此字符串与指定字符串顺序相反Trim截去字符串前后的空格UCase返回字符串的大写形式3.1.4 函数与过程函数与过程【例例】一个字符串函数应用的例子一个字符串函数应用的例子StringFunc.aspStringFunc.asp,它演示了常用字符串函数的使用方法和运行结果。,
16、它演示了常用字符串函数的使用方法和运行结果。演示字符串函数的使用演示字符串函数的使用%Dim MyArr(3)Dim MyArr(3)演示演示Asc()Asc()和和CStr()CStr()函数的使用函数的使用 Response.Write(Response.Write(字母字母Z Z的的ASCIIASCII码值为码值为:&CStr(Asc(Z):&CStr(Asc(Z)Response.Write()Response.Write()演示演示Chr()Chr()函数的使用函数的使用 Response.Write(Response.Write(字母字母B B后面的第后面的第5 5个字母为个字母为
17、:&Chr(Asc(B)+5):&Chr(Asc(B)+5)Response.Write()Response.Write()演示演示Filter()Filter()函数的使用,过滤的结果保存在函数的使用,过滤的结果保存在MyStr()MyStr()数组中数组中 MyArr(0)=ABC MyArr(0)=ABC MyArr(1)=DEF MyArr(1)=DEF MyArr(2)=GHI MyArr(2)=GHI MyStr=Filter(MyArr,G)MyStr=Filter(MyArr,G)Response.Write(Response.Write(在数组在数组MyArrMyArr中,包
18、含字母中,包含字母G G的元素为的元素为:&MyStr(0):&MyStr(0)Response.Write()Response.Write()3.1.4 函数与过程函数与过程 演示演示InSt()InSt()函数和函数和InStrDev()InStrDev()函数的使用函数的使用 Response.Write(Response.Write(在字符串在字符串ABCDCDABCDCD中,字母中,字母D D的位置为的位置为:&CStr(InStr(ABCDCD,D):&CStr(InStr(ABCDCD,D)Response.Write()Response.Write()Response.Writ
19、e(Response.Write(在字符串在字符串ABCDCDABCDCD中,字母中,字母D D的倒数位置为的倒数位置为:&CStr(InStrRev(ABCDCD,D):&CStr(InStrRev(ABCDCD,D)演示演示Join()Join()函数的使用函数的使用 Response.Write()Response.Write()Response.Write(Response.Write(将数组将数组MyArr()MyArr()中的元素连接在一起,得到中的元素连接在一起,得到:&Join(MyArr):&Join(MyArr)演示演示String()String()函数和函数和Len()
20、Len()函数的使用函数的使用 Response.Write()Response.Write()Response.Write(Response.Write(输出输出1010个个&,得到,得到:&String(10,&)&:&String(10,&)&长度为长度为:&CStr(Len(String(10,&):&CStr(Len(String(10,&)Response.Write()Response.Write()演示演示Space()Space()函数和函数和Trim()Trim()函数的使用函数的使用 MyStr=123+Space(2)MyStr=123+Space(2)Response
21、.Write(MyStr+45)Response.Write(MyStr+45)Response.Write()Response.Write()Response.Write(Trim(MyStr)&DE)Response.Write(Trim(MyStr)&DE)Response.Write()Response.Write()演示演示Replace()Replace()函数的使用函数的使用 Response.Write(Response.Write(请字符串请字符串ABCDABCD中的子串中的子串BCBC替换为替换为XYXY,得到,得到:&Replace(ABCD,BC,XY):&Replac
22、e(ABCD,BC,XY)%3.1.4 函数与过程函数与过程3.1.4 函数与过程函数与过程p日期函数日期函数函数名具体描述Date返回当前的系统日期DateAdd返回已添加指定时间间隔的日期DateDiff返回两个日期之间的时间间隔DatePart返回给定日期的指定部分DateSerial对于指定的年、月、日,返回 Date 子类型的 Variant,使用方法为DateSerial(year,month,day)DateValue返回 Date 子类型的 Variant,参数为字符串表达式Day返回日期参数中的日(相对于年、月)数据Hour返回日期参数中的小时数据Minute返回日期参数中的
23、分钟数据Month返回日期参数中的月数据MonthName返回表明指定月份的字符串Now根据计算机系统设定的日期和时间返回当前的日期和时间值Second返回日期参数中的秒数据Time返回 Date 子类型 Variant,指示当前系统时间Timer返回午夜 12 时以后已经过去的秒数TimeSerial返回一个 Date 子类型的 Variant,含有指定时、分、秒的时间TimeValue返回包含时间的Date子类型的VariantWeekday返回代表一星期中某天的整数WeekDayName返回一个字符串,表示星期中指定的某一天Year返回一个代表某年的整数3.1.4 函数与过程函数与过程【
24、例例】下面是部分日期函数使用的例子下面是部分日期函数使用的例子DateFunc.aspDateFunc.asp,它演示了,它演示了Date()Date()、DateAdd()DateAdd()、Year()Year()、Month()Month()和和Day()Day()等常用日期函数的使用方法。等常用日期函数的使用方法。演示日期函数的使用演示日期函数的使用%Dim MyDate%Dim MyDate MyDate=Date()MyDate=Date()Response.Write(Response.Write(当前的系统日期为当前的系统日期为:+CStr(MyDate):+CStr(MyDa
25、te)Response.Write()Response.Write()Response.Write(30 Response.Write(30天后的日期为天后的日期为:+CStr(DateAdd(d,30,MyDate):+CStr(DateAdd(d,30,MyDate)Response.Write()Response.Write()Response.Write(5 Response.Write(5个月后的日期为个月后的日期为:+CStr(DateAdd(m,5,MyDate):+CStr(DateAdd(m,5,MyDate)Response.Write()Response.Write()R
26、esponse.Write(3 Response.Write(3年后的日期为年后的日期为:+CStr(DateAdd(yyyy,3,MyDate):+CStr(DateAdd(yyyy,3,MyDate)Response.Write()Response.Write()Response.Write(Response.Write(当前日期为当前日期为:+CStr(Year(MyDate)&+CStr(Year(MyDate)&年年&CStr(Month(MyDate)&CStr(Month(MyDate)&月月&CStr(Day(MyDate)&CStr(Day(MyDate)&日日)%3.1.4
27、 函数与过程函数与过程p转换函数转换函数函数名具体描述CBool将指定表达式转换为 Boolean 子类型的 VariantCByte将指定表达式转换为 Byte 子类型的 VariantCCur将指定表达式转换为 Currency 子类型的 VariantCDate将指定表达式转换为 Date 子类型的 VariantCDbl将指定表达式转换为 Double 子类型的 VariantCInt将指定表达式转换为 Integer 子类型的 VariantCLng将指定表达式转换为 Long 子类型的 VariantCSng将指定表达式转换为 Single 子类型的 VariantCStr将指定表
28、达式转换为 String 子类型的 Variant3.1.4 函数与过程函数与过程p格式化函数格式化函数函数名具体描述FormatCurrency将指定表达式转换为格式化的货币值FormatDateTime将指定表达式转换为格式化的日期时间值FormatNumber将指定表达式转换为格式化的数值FormatPercent将指定表达式转换为百分比格式,即数值乘以 100,结尾添加%3.1.4 函数与过程函数与过程p布尔函数布尔函数函数名具体描述IsArray判断参数是否是数组IsDate判断参数是否可以转换为日期型IsEmpty判断参数是否被初始化IsNull判断参数是否包含有效的数据IsNum
29、eric判断参数是否是数字IsObject判断参数是否引用了有效的Automation对象3.1.4 函数与过程函数与过程p其他函数其他函数函数名具体描述Array返回一个数组,语法为Array(arglist)。参数arglist是数组元素的初始值列表(使用逗号分隔),如果没有指定参数,则返回一个长度为0的数组CreateObject创建并返回对Automation对象的引用。这是ASP中非常常用的函数,本书后面会经常使用到它。例如要在ASP中访问Excel,可以定义一个Excel对象,方法如下:Dim ExcelSheetSet ExcelSheet=CreateObject(Excel.
30、Sheet)CreateObject函数的具体使用情况将在后面章节中结合实例介绍GetLocale返回当前区域设置 ID 值GetObject 返回对文件中Automation对象的引用GetRef返 回 一 个 指 向 过 程 的 引 用,此 过 程 可 绑 定 某 事 件。例 如 Set Window.Load=GetRef(loadme)的功能是当打开窗口时执行过程loadmeLBound返回指定数组维的最小可用小标LoadPicture返回图片对象,参数指定图像文件的路径和名称RGB返回代表 RGB 颜色值的整数ScriptEngine返回一个代表当前使用的脚本程序语言的字符串Scri
31、ptEngineBuildVersion返回使用的编写脚本引擎的编译版本号ScriptEngineMajorVersion返回使用的编写脚本引擎的主版本号ScriptEngineMinorVersion返回使用的编写引擎引擎的次版本号TypeName返回字符串,表示指定数据的子类型UBound返回指定数组维数的最大可用下标VarValue返回指示变量子类型的值3.1.5 条件语句条件语句pIfThenElseIfThenElse语句语句If Then ElseIf Then Else End If3.1.5 条件语句条件语句【例例】使用使用IfIf语句可以判断当前的日期是星期几,文件名为语句可
32、以判断当前的日期是星期几,文件名为WeekDay.aspWeekDay.asp,代码如下:,代码如下:演示If语句的使用3.1.5 条件语句条件语句pSelectCaseSelectCase语句语句Select Case Case Case Case Else End Select3.1.5 条件语句条件语句【例例】使用使用CaseCase语句可以判断当前的日期是星期几,文件名为语句可以判断当前的日期是星期几,文件名为WeekDay1.aspWeekDay1.asp,代码如下:,代码如下:演示演示CaseCase语句的使用语句的使用%3.1.6 循环语句循环语句p循环语句用于重复执行一组语句。
33、可分为循环语句用于重复执行一组语句。可分为3 3类:类:在条件变为False之前重复执行语句。在条件变为True之前重复执行语句。按照指定的次数重复执行语句。pDoLoopDoLoop语句语句Do While|Until Exit Do LoopDo Exit Do Loop While|Until 3.1.6 循环语句循环语句【例例】下面是演示下面是演示DoLoopDoLoop语句使用的例子语句使用的例子Do.aspDo.asp。首先使用。首先使用Do WhileDo While语句向数组语句向数组arr()arr()中赋值,然后再使用中赋值,然后再使用Do Do UntilUntil语句显
34、示数组中的数据,读者可以比较这两个语句的使用。语句显示数组中的数据,读者可以比较这两个语句的使用。演示演示Do.LoopDo.Loop语句的使用语句的使用%Dim i,arr(10)Dim i,arr(10)i=1 i=1 Do While i 10 Do While i 10 arr(i)=i arr(i)=i i=i+1 i=i+1 Loop Loop Response.Write()Response.Write()Response.Write(Response.Write(使用使用Do UntilDo Until语句输出语句输出arr()arr()中的数据中的数据 )i=1 :Sum=0
35、 i=1 :Sum=0 Do While i 10 Do While i 10 Response.Write(CStr(arr(i)&)Response.Write(CStr(arr(i)&)i=i+1 i=i+1 Loop Loop%3.1.6 循环语句循环语句pWhileWendWhileWend语句语句While Wendp【例例】下面是使用下面是使用WhileWendWhileWend语句的实例语句的实例While.aspWhile.asp。演示演示While.WendWhile.Wend语句的使用语句的使用%Dim i,arr(10)%Dim i,arr(10)i=1 i=1 Whi
36、le i 10 While i 10 arr(i)=i arr(i)=i i=i+1 i=i+1 Wend Wend Response.Write(Response.Write(使用使用WhileWhile语句输出语句输出arr()arr()中的数据中的数据 )i=1 i=1 While i 10 While i 10 Response.Write(CStr(arr(i)&)Response.Write(CStr(arr(i)&)i=i+1 i=i+1 Wend%Wend%3.1.6 循环语句循环语句pFor.NextFor.Next语句语句For =To Step Exit For Next
37、3.1.6 循环语句循环语句【例例】下面是演示下面是演示ForNextForNext语句使用的例子语句使用的例子For.aspFor.asp。演示演示While.WendWhile.Wend语句的使用语句的使用%Dim i,arr(10)Next%3.1.6 循环语句循环语句pFor Each.NextFor Each.Next语句语句For Each In Exit For Next【例例】下面是演示下面是演示For EachNextFor EachNext语句使用的例子语句使用的例子ForEach.aspForEach.asp。演示For Each.Next语句的使用%Dim Sum Di
38、m Arr 生成一个数组Arr Arr=Array(1,2,3,4,5,6,7,8,9)Response.Write(使用For Each语句显示数组中的所有奇数)Sum=0 For Each i In Arr If i Mod 2=1 Then Response.Write(CStr(i)&)End If Next%3.1.7 自定义过程和函数自定义过程和函数p创建自定义过程创建自定义过程p使用使用SubSub命令可以创建自定义过程,语法如下:命令可以创建自定义过程,语法如下:Public Default|Private Sub ()Exit Sub 语句块End Subp可以使用可以使用C
39、allCall语句调用自定义过程:语句调用自定义过程:Call (参数列表)3.1.7 自定义过程和函数自定义过程和函数【例例】下面是一个下面是一个VBScriptVBScript过程的例子过程的例子Sub.aspSub.asp。过程。过程OnDuty()OnDuty()的功能是根据参数中的姓名输出他在星期几值班。的功能是根据参数中的姓名输出他在星期几值班。Sub OnDuty(ByVal person)Dim i,arr(10)arr()数组中保存周1-周日的值班人员名单,arr(0)保存周日 arr(0)=小李 arr(1)=小王 arr(2)=小张 arr(3)=小周 arr(4)=小吴
40、 arr(5)=小赵 arr(6)=小蔡 变量person保存要查询的值班人员姓名 For i=0 To 6 If person=arr(i)Then If i=0 Then Response.Write(person&在周日值班)Else Response.Write(person&在周&CStr(i)&值班)End If Exit For End If NextEnd Subpp可以使用下面的方法调用过程可以使用下面的方法调用过程Week()Week()。Call OnDuty(小吴)3.1.7 自定义过程和函数自定义过程和函数p创建自定义函数创建自定义函数p使用使用FunctionFun
41、ction命令可以创建自定义函数:命令可以创建自定义函数:Public Default|Private Function (参数列表)=Exit Function =End Function 3.1.7 自定义过程和函数自定义过程和函数【例例】将前面介绍的过程将前面介绍的过程Week()Week()改写为函数改写为函数:Function OnDuty(ByVal person)Dim i,arr(10)arr()数组中保存周1-周日的值班人员名单,arr(0)保存周日 arr(0)=小李 arr(1)=小王 arr(2)=小张 arr(3)=小周 arr(4)=小吴 arr(5)=小赵 arr
42、(6)=小蔡 变量person保存要查询的值班人员姓名 For i=0 To 6 If person=arr(i)Then If i=0 Then OnDuty=周日 Else OnDuty=周&CStr(i)End If Exit For End If NextEnd Functionp调用函数的方法是将函数返回值赋值到一个变量中或直接像变量一样使用,例如:调用函数的方法是将函数返回值赋值到一个变量中或直接像变量一样使用,例如:Response.Write(OnDuty(小吴)3.1.8 错误处理错误处理【例例】下面看一个下面看一个VBScriptVBScript错误的例子错误的例子erro
43、r.asperror.asp。演示错误处理3.1.8 错误处理错误处理【例例】在上面的错误代码中增加在上面的错误代码中增加ON ERROR RESUME NEXTON ERROR RESUME NEXT语句,文件名为语句,文件名为error1.asperror1.asp:演示错误处理3.1.8 错误处理错误处理【例例】演示演示ErrErr对象的代码如下:对象的代码如下:演示错误处理3.2 JavaScript编程基础编程基础pJavaScriptJavaScript脚本使用脚本使用p数据类型和变量数据类型和变量p运算符运算符p程序控制语句程序控制语句p内置对象综述内置对象综述p弹出警告对话框弹
44、出警告对话框p弹出确认对话框弹出确认对话框p弹出输入数据对话框弹出输入数据对话框p弹出新窗口弹出新窗口pWindowWindow对象事件处理对象事件处理3.2.1 JavaScript脚本使用脚本使用【例例】下面是一个简单的下面是一个简单的JavaScriptJavaScript实例实例JavaScript.aspJavaScript.asp。简单的JavaScript代码 /下面是JavaScript代码 document.write(这是一个简单的JavaScript程序!);document.close();3.2.1 JavaScript脚本使用脚本使用pDocumentDocumen
45、t是是JavaScriptJavaScript的文档对象,的文档对象,document.write()document.write()用于在用于在文档中输出字符串,文档中输出字符串,document.close()document.close()用于关闭输出操作。用于关闭输出操作。p/表示程序中的注释。表示程序中的注释。p也可以在网页文档中添加下面的代码,指定网页中使用的默认也可以在网页文档中添加下面的代码,指定网页中使用的默认脚本语言为脚本语言为JavaScriptJavaScript。p【例例】下面实例中指定下面实例中指定JavaScriptJavaScript默认的脚本语言。默认的脚本语
46、言。简单的JavaScript代码3.2.2 数据类型和变量数据类型和变量pvarvar关键字声明变量,声明变量时不要求指明变量的数据类型。关键字声明变量,声明变量时不要求指明变量的数据类型。var x;p可以在定义变量时为其赋值。可以在定义变量时为其赋值。【例例】定义变量定义变量x x,并将其初始值设置为,并将其初始值设置为1 1,代码如下:,代码如下:var x=1;pJavaScriptJavaScript允许不定义变量,而通过使用变量的方法来确定其类型:允许不定义变量,而通过使用变量的方法来确定其类型:x=1;str=This is a string;exist=false;类型具体描
47、述数值类型包括整数和实数字符串类型由单引号或双引号括起来的字符布尔类型包含True和False空值即null。如果引用一个没有定义的变量,则返回空值3.2.3 运算符运算符运算符类型运算符具体描述算术运算符双目运算符+计算两个数之和-计算两个数的差*两个数相乘/两个数相除%两个数相除并返回余数|按位或&按位与位右移位右移,以零填充单目运算符-对数值取反取补+对数值递加1-对数值递减1比较运算符小于大于=大于或等于=等于!-不等于逻辑运算符&对两个表达式进行逻辑“与”运算!对表达式进行逻辑“非”运算|对两个表达式进行逻辑“或”运算3.2.4 程序控制语句程序控制语句pifif语句语句if(条件表
48、达式)语句段1else 语句段2pIfIf语句还可以嵌套使用。其基本格式如下:语句还可以嵌套使用。其基本格式如下:if(条件表达式1)语句段1else if(条件表达式2)语句段2else 语句段n3.2.4 程序控制语句程序控制语句pwhilewhile语句语句while(条件表达式)语句段pforfor语句语句for(初始化;条件;增量)语句段p参数说明如下:参数说明如下:初始化参数告诉循环的开始状态,赋予变量的初值。条件用于判别循环停止时的条件。若条件满足,则执行循环体,否则退出循环。增量主要定义循环控制变量在每次循环时按什么方式变化。pbreakbreak语句和语句和continuec
49、ontinue语句语句3.2.5 内置对象综述内置对象综述pArrayArray对象创建数组:对象创建数组:MyArr=new Array(8)pArrayArray对象只有一个属性对象只有一个属性lengthlength,用来返回数,用来返回数组的长度。组的长度。pArrayArray对象的方法对象的方法方法具体描述Join将数组中所有元素连接成字符串,元素间使用逗号或其他分隔符连接Reverse返回数组的倒序Sort返回按字母顺序排列的数组3.2.5 内置对象综述内置对象综述【例例】下面是下面是ArrayArray对象的一个示例程序对象的一个示例程序JavaArray.aspJavaArr
50、ay.asp。演示使用Array对象%var MyArr;var MyStr;MyArr=new Array(3);MyArr0=abc;MyArr1=ghi;MyArr2=def;/计算数组长度 Response.Write(数组MyArr的长度为:+MyArr.length);Response.Write();/连接数组 MyStr=MyArr.join(-);Response.Write(将数组MyArr连接成字符串MyStr,MyStr的值为:+MyStr);Response.Write();/倒序 MyArr.reverse();MyStr=MyArr.join(-);Respons