VBScript脚本语言

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本文由tjwyg_31贡献
ppt文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。
第五章 脚本语言应用应用
通过学习本章,要求掌握以下基本内容: 掌握VBScript脚本语言的语法和格式 掌握VBScript脚本语言输入/输出的应用 掌握VBScript的过程、事件和对象的使用
5.1 概述
没有脚本语言前, HTML生成的文档是一种静态文档, HTML生成的文档是一种静态文档, 几乎没有有交互功能。 通过脚本语言,客户端能够执行程序并能提供事件驱 动的软件开发环境,可以使数据发送到服务器之前先 进行处理和校验,动态的创建WEB内容。 进行处理和校验,动态的创建WEB内容。 脚本语言不是一个完整的语言系统,不能编写单独的 应用程序,只能“宿寄” HTML之上 应用程序,只能“宿寄”在HTML之上 在Web页面中,可以同时使用VBScript和JavaScript Web页面中,可以同时使用VBScript和 两种或其他脚本语言,不同的浏览器对脚本语言的支 持可能会有所不同。
VBScript和JavaScript既有许多相似之处,也存 VBScript和JavaScript既有许多相似之处,也存 在一些差别。 两者在一些语法格式上(如函数的定义)之间 存在部分区别。 VBScript既不能用来建立对象,也不支持用户 VBScript既不能用来建立对象,也不支持用户 定义的类。JavaScript利用对象的能力要强一 定义的类。JavaScript利用对象的能力要强一 些,可以定义类,是一种基于对象的脚本语言 在语言的通融性方面存在一些差别, VBScript 与VB联系较为紧密,但JavaScript较为独立。 VB联系较为紧密,但JavaScript较为独立。
5.2 VBScript脚本语言 VBScript脚本语言
VBScript是 VBScript是Visual Basic语言的一个子集,它不是一个 Basic语言的一个子集,它不是一个 完整、成熟的语言开发系统。只包含Visual Basic语 完整、成熟的语言开发系统。只包含Visual Basic语 言中的一些基本功能。 VBScript的最大优点是易于使用 VBScript的最大优点是易于使用,直接包含在HTML 易于使用,直接包含在HTML 文档中,用纯ASCII文本 文档中,用纯ASCII文本建立,编写和修改十分便利 文本建立,编写和修改十分便利 VBScript既可以用于客户端,也可以用于服务器端, VBScript既可以用于客户端,也可以用于服务器端, 二者的区别在于:用于客户端的VBScript代码只能写 二者的区别在于:用于客户端的VBScript代码只能写 于标签
相关说明: (1)VBScript脚本语言源程序如在客户端执行行, 存盘时扩展名仍然是.htm。如将程序放于服务 器端去执行,需要在
1、输出函数msgbox 、输出函数msgbox Msgbox函数除了可以输出信息之外,还可以通过对话

框中用户 Msgbox函数除了可以输出信息之外,还可以通过对话框中用户 的选择(如确定、取消、终止等)接收用户的选择,并以返 回值的形式给出 格式:d=msgbox(prompt[,buttons][,title][,helpfile, 格式:d=msgbox(prompt[,buttons][,title][,helpfile, context]) (1) prompt(提示):必选项,在对话框中显示信息,字符串表达 prompt(提示) 式,长度为1024字符,可以使用回车符(chr(13))、换行符 式,长度为1024字符,可以使用回车符(chr(13))、换行符 (chr(10))进行分隔,也可以组合或使用VbCrLf。 chr(10))进行分隔,也可以组合或使用VbCrLf。 (2) buttons(按钮):可选项,数值表达式(即A+B+C)或数值表 buttons(按钮):可选项,数值表达式(即A+B+C)或数值表 达式之和,用于确定对话框的按钮、图标和默认按钮 如1+16+256或273,表示显示两个按钮为确定与取消,显示的 1+16+256或273,表示显示两个按钮为确定与取消,显示的 图标是红色的关键信息图标,默认选择的是“取消” 图标是红色的关键信息图标,默认选择的是“取消”按钮。
(3)title(标题):可选项,为字符串表达式,置于对 title(标题): 话框的标题栏内。 (4)helpfile(帮助文件):可选项,用来识别向对话 helpfile(帮助文件):可选项,用来识别向对话 框提供上下文相关帮助的帮助文件,为字符串表达式 (5)context(帮助文件的上下文编号):可选项,由帮 context(帮助文件的上下文编号) 助文件的作者指定给适当的帮助主题的帮助上下文编 号,为数值表达式。 注意: helpfile与context必须成对出现。 helpfile与context必须成对出现。 (6)函数的返回值(1-7):表示用户单击的按钮所 )函数的返回值(1 对应的数值。(见课本 表5.2所示) 5.2所示) 示例一 示例二 示例三
2、输出语句msgbox 、输出语句msgbox Msgbox可直接以语句形式供用户使用格式为 Msgbox可直接以语句形式供用户使用格式为 msgbox(prompt[,buttons][,title][,helpfile, context]) 与函数相比,两者的差距主要体现在 (1)不能用语句获取返回值,只能用于显示。 如 msgbox “已接受您的请求,请确定” 已接受您的请求,请确定” (2)语句中不能使用括号,而函数中必须要有 括号。
3、输入函数InputBox 、输入函数InputBox 该函数可以产生一个等待用户输入数据的对话框,用 户输入数据并确认后,该函数将返回用户输入的内容 d=inputbox(prompt [,title] [,default][,xpos,ypos][,helpfile, context]) (1)default默认值: (1)default默认值:可选项,作为输入文本框的默认值, 替代用户输入,为字符串表达式。 (2)xpos,ypos(X,Y坐标位置):可选项,确定对 xpos,ypos( 话框离屏幕左边界的距离和离上边界

的距离,为数值 表达式,其单位为像素,使用时必须都给出或省略。 示例
需要注意的地方: 1、如在参数中设置了default,则在弹出对话框时,文 、如在参数中设置了default,则在弹出对话框时,文 本框内将显示该默认值。 2、函数的输入值如是字符串,返回值也是字符串。若 输入是数值,则返回也是数值,可以直接参加运算。 3、当用户选择的是取消选项是,函数返回的值是一个 空字符串或数值0 空字符串或数值0。 4、函数每次只能获取一个值,多次调用输入多个数据 时,每次俘获的数据都必须要赋给一个变量,否则前 一数据将被覆盖。实际应用中,此函数通常与数组或 循环语句结合使用。 示例一 示例二
5.2.2 注释与续行符 编写Vbscript脚本源程序时,若要将几条语句 编写Vbscript脚本源程序时,若要将几条语句 放入同一行源代码中,可用冒号 放入同一行源代码中,可用冒号:将语句分开 冒号: VBScript脚本语言有两种注释格式: Rem 注释内容 ’ 注释内容 在程序编写过程中,如果某行代码过长可以使 用续行符“_”。 续行符“
5.4 VBScript的过程 VBScript的过程 VBScript提供两种过程供用户使用,一种称为子 VBScript提供两种过程供用户使用,一种称为子 过程(SUB过程),另一种称为函数过程 过程(SUB过程),另一种称为函数过程 (Funciotion过程)。 Funciotion过程)。 1、子过程(SUB过程) 、子过程(SUB过程) (1)由包含在Sub和End Sub关键字之间的一组 )由包含在Sub和 Sub关键字之间的一组 VBScript语句组成。 VBScript语句组成。 (2)不能使用Sub获取返回值。 )不能使用Sub获取返回值。 (3)可以使用过程来传递参数。
(4)子过程的格式如下: Sub 过程名[(参数表列)] 过程名[(参数表列)] [语句块] 语句块] [Exit Sub] [语句块] 语句块] End Sub
对于Sub过程的调用,有两种方式: 对于Sub过程的调用,有两种方式: 直接使用过程名及参数,不需要将参数放置于 括号中,多个参数中间使用逗号分隔。 使用call 使用call 过程名,参数需要放置在括号中,多 个参数中间使用逗号分隔。 例 1 例2 例3
2、函数过程 函数过程包含在Function与 函数过程包含在Function与End Function之间 Function之间 功能方面与sub类似,但可以获取返回值 功能方面与sub类似,但可以获取返回值 ,该 值通过过程名 值通过过程名返回。 过程名返回。 返回的值(或以表达式的形式)在过程的语句 中赋给过程名。 Vbscript中所有函数返回值的数据类型都是 Vbscript中所有函数返回值的数据类型都是 variant类型。 variant类型。
函数过程的格式如下: Function 过程名(或函数名) [(参数

表列)] 过程名(或函数名) [(参数表列)] [语句块] 语句块] [过程名=表达式] 过程名=表达式] [Exit Function] [语句块] 语句块] End Function
过程的调用 作为语句调用,例如: msgbox “您选择的户型已登记” 您选择的户型已登记” 作为表达式调用,例如: differ=ball-a(r)*a(r)*a(r) differ=ball-a(r)*a(r)*a(r) 作为变量调用,例如: msgbox "立方体的边长是:" & left(a(r),3) "立方体的边长是:" left(a(r),3) 示例
3、按地址传递和按值传递 默认时,参数是按地址传递的(在定义过程时 形参前使用byref,可以省略),形参的变化 形参前使用byref,可以省略),形参的变化 直接导致实参的变化。通过执行过程可以修改 变量的值。 如在定义过程时,形参前使用的是byval,代 如在定义过程时,形参前使用的是byval,代 表按值传递,形参的变化不会影响到实参。 示例
5.5.1 VBScript的对象 VBScript的对象 对象(Objects)是具有某些特性的具体事物的抽象描述。每个 对象(Objects)是具有某些特性的具体事物的抽象描述。每个 对象都具有描述其特征的属性 对象都具有描述其特征的属性,以及附属它的行为。如一个 属性,以及附属它的行为 行为。如一个 人有头、身、手、性格等特性,又有站、走、跳等行为。 从计算机的角度看,一个对象应包括两个要素:数据和操作。 作一个比较,数据可以对应“ 作一个比较,数据可以对应“人”,操作可以对应“人的行 ,操作可以对应“ 为活动” 为活动”。对象就像一个集合,它包含数据以及与这些数据 相关的操作。如图所示。
Vbscript中的对象与面向对象程序设计中的对象 Vbscript中的对象与面向对象程序设计中的对象 在概念上讲是一致的,但在使用上有很大的区别 Vbscript中的对象是由系统设计好的,可以直接 Vbscript中的对象是由系统设计好的,可以直接 使用或对其进行操作,使用方便。 面向对象的程序设计中的对象基本上是由程序员 自己设定的。 1、应用VBScript对象 、应用VBScript对象 VBScript对象的内容丰富,含有方法、属性、事 VBScript对象的内容丰富,含有方法、属性、事 插入对象的引用就可 件等,使用时只需在脚本中插入对象的引用 件等,使用时只需在脚本中插入对象的引用就可 以使用VBScript对象。示例 示例2 以使用VBScript对象。示例 示例2 本例中使用了三个对象:button/window/document 本例中使用了三个对象:button/window/document
2、对象的属性、事件和方法 (1)对象的属性 (1)对象的属性 对象的属性与标识的属性与之类似,是用来描 述和反映对象特征的参数。 对象常见的属性有标志、名称、颜色、值等。 对象属性的一般格式为:

对象名.属性名称= 对象名.属性名称=新设置的属性值 如 document.bgcolor=“#EE5588” document.bgcolor=“#EE5588”
(2)对象的事件 (2)对象的事件 对象的事件是由VBScript预先设计好的、能够被对象 对象的事件是由VBScript预先设计好的、能够被对象 识别的运作。 就对象而言,事件就是发生在该对象上的事情,如按 钮单击事件就是发生在按钮上的事情 当事件由系统触发或用户触发时,对象就会对该事件 做出响应。 响应某事件后所执行的操作是由一段程序代码来完成, 这段代码或者些操作处理的步骤就是事件过程 这段代码或者些操作处理的步骤就是事件过程。 事件过程。 一个对象可以识别一个或多个事件,因此可以使用一 个或多个事件过程响应用户或系统的事件。
事件过程的格式如下: Sub 对象名称_事件名称(参数列表) 对象名称_

事件响应程序代码(事件过程代码)

End sub 格式中Sub 对象名称_ 格式中Sub 对象名称_事件名称由下划线连接 事件必须是该对象能够识别的。 在事件驱动编程中,程序员只要编写响应用户动作的 程序,如选择命令、单击等,而不需要考虑按精确次 序执行的每个程序步骤。这些应用程序常常是由若干 个微小程序组成,而这些微小程序又都可以由用户启 动的事件来激发。
常用事件举例 1、响应load事件 、响应load事件 Load事件在IE加载给定对象后立即发生,该事件处 Load事件在IE加载给定对象后立即发生,该事件处 理函数名称在标签中声明。在网页的load事 理函数名称在标签中声明。在网页的load事 件处理函数中可以对网页作一些初始化工作,或者显 示一些信息。示例 示一些信息。示例 需要注意的是此例中并没有指定load事件的对象,在 需要注意的是此例中并没有指定load事件的对象,在 body标签中即指是IE窗体本身。 body标签中即指是IE窗体本身。 2、响应unload事件 、响应unload事件 Unload事件在IE离开一个网页时触发,可以在该事件 Unload事件在IE离开一个网页时触发,可以在该事件 的处理函数中添加代码,保存有用的用户信息。示例 的处理函数中添加代码,保存有用的用户信息。示例
3、click事件 示例 click事件 当用户单击鼠标左键,然后抬起按键时,触发 此事件,另外在WEB页面表单中按下键盘上的 此事件,另外在WEB页面表单中按下键盘上的 键(如Enter键、Esc键)时,也会触发该事件 键(如Enter键、Esc键)时,也会触发该事件 4、mousemove事件 mousemove事件 当用户鼠标移动到一个对象(如按钮)时触发 该事件,在对象内部移动鼠标时,并不会触发 该事件。当在鼠标移出对象时,触发该事件。

IE中可以通过众多的标识符响应这个事件,包 IE中可以通过众多的标识符响应这个事件,包 括:超链接、输入(如按钮、文本等)、标签 等。示例。 等。示例。
5、 change 、blur、focus事件 blur、focus事件 当处于激活状态的对象内容改变以后,触发该 事件。更确切地讲change事件发生在用户改 事件。更确切地讲change事件发生在用户改 变对象内容后把焦点转移到其他对象时,可以 通过input/select/textarea的属性响应该事件。 通过input/select/textarea的属性响应该事件。 当控件失去焦点时发生blur事件。Focus事件 当控件失去焦点时发生blur事件。Focus事件 是在控件收到焦点时触发。示例 是在控件收到焦点时触发。示例
(3)对象的方法 (3)对象的方法 同属性和事件一样,方法是对象的一部分,方法 是一种特殊的过程和函数,方法的操作与过程、 函数的操作相同,它的调用格式为: 对象名称.方法名称[参数列表] 对象名称.方法名称[参数列表] 需要注意的是:在Vbscript脚本语言中可以使用 需要注意的是:在Vbscript脚本语言中可以使用 多种方法,其中某些方法可以适用于几种不同类 型的对象,而有些方法则只能适用于少数或单一 的对象。如open可以是window对象的方法,也 的对象。如open可以是window对象的方法,也 可以是document对象的方法,而alert只能用于 可以是document对象的方法,而alert只能用于 widow中。 widow中。
5.5.2Window对象的使用 5.5.2Window对象的使用 Window对象是Vbscript脚本对象模型的最外一层对 Window对象是Vbscript脚本对象模型的最外一层对 象,可以将其理解为浏览器中一个打开的窗口,代表 Internet Explorer的对象。 Explorer的对象。 Window对象具有很多属性,可以用这些属性对窗口 Window对象具有很多属性,可以用这些属性对窗口 中显示的文档进行和处理。常用的属性和方法如下: (1)name属性:设置或返回指定的文件或文件夹的 name属性:设置或返回指定的文件或文件夹的 名称,可读写。 格式:[=newname] 格式:[=newname] Object为必选项,是文件或文件夹对象的名称 Object为必选项,是文件或文件夹对象的名称
(2)location属性:可以返回对location对象的引用, location属性:可以返回对location对象的引用, 可以调用location对象的属性、事件或方法,如HREF、 可以调用location对象的属性、事件或方法,如HREF、 pathname属性等,操作当前文档的URL pathname属性等,操作当前文档的URL 示例 (3) DefaultStatus属性(设置状态栏默认字符串。在浏览 DefaultStatus属性( 器状态栏不显示其他信息时显示) 器状态栏不显示其他信息时显示)例如: window.defaultstatus=“

中国” window.defaultstatus=“中国” (4)Status属性(返回或设置状态栏中的显示文本) Status属性(返回或设置状态栏中的显示文本) 注意两者间的区别 示例 (5)Alert方法(显示[!]警告信息框)与Confirm方法(显 Alert方法(显示[!]警告信息框) Confirm方法( 示[?]询问信息框)示例 [?]询问信息框)
(6) Prompt方法:提示用户输入数据,带有两个 Prompt方法:提示用户输入数据,带有两个 参数,分别是提示信息与默认值,示例 参数,分别是提示信息与默认值,示例 name=window.prompt(“输入姓名” 张三” name=window.prompt(“输入姓名”,”张三”) (7) Open方法:打开一个已存在的或新建一 Open方法:打开一个已存在的或新建一 个窗口,并在其中显示文档。
(8)close方法:关闭一个打开的浏览器窗口 close方法:关闭一个打开的浏览器窗口 (9)setTimeout方法:设置计时器,用来在指定的时 setTimeout方法:设置计时器,用来在指定的时 间后调用一个过程。格式如下:
Id=window.settimeout expression,msec,language
Id:timer对象,可以用在cleartimeout方法中。 Id:timer对象,可以用在cleartimeout方法中。 Expression:被调用的过程(函数)名。 Expression:被调用的过程(函数)名。 Msec:在调用过程前南要等待的时间 Msec:在调用过程前南要等待的时间 ,以毫秒为单位 Language:指定过程使用的脚本编写语言 Language:指定过程使用的脚本编写语言 (10)cleartimeout方法:指定的计时器复位 10)cleartimeout方法:指定的计时器复位 格式为:window.cleartimeout 格式为:window.cleartimeout id
(11)navigate方法:在当前窗口中显示新文档, 11)navigate方法:在当前窗口中显示新文档, 语法格式:Window.navigate 语法格式:Window.navigate url url是指所显示新文档的URL地址,示例。 url是指所显示新文档的URL地址,示例。 (12)Onload事件、onunload事件分别在页面加 (12)Onload事件、onunload事件分别在页面加 载时激发和页面卸载时激发。示例 载时激发和页面卸载时激发。示例 相关说明: 在使用时,window对象的属性、方法和事件都 在使用时,window对象的属性、方法和事件都 可以不通过window对象限定直接使用。 可以不通过window对象限定直接使用。 如window.alert()可以改为alert() window.alert()可以改为alert()
5.2.6应用Vbscript 5.2.6应用Vbscript 1、Document对象应用 Document对象应用 可以使用该对象访问当前加载的WEB页,表示浏览 可以使用该对象访问当前加载的WEB页,表示浏览 文档。 器窗口中或其中某个框架中显示的HTML文档 器窗口中或其中某个框架中显示的HTML文档。 可以控制HTML文档的背景颜色、链接颜色等外观, 可以控制HTML文档的背景颜色

、链接颜色等外观, 以及其它内容等。 通过该对象用户可以获得对整个网页的完全控制,在 HTML文档的任何位置都可以调用该对象,可以直接 HTML文档的任何位置都可以调用该对象,可以直接 关键字,也可以通过Window对象 使用Document关键字 使用Document关键字,也可以通过Window对象 Document属性 属性来调用该对象。 的Document属性来调用该对象。 常用属性和方法
(1)LinkColor、AlinkColor、vLinkColor属性 示例 LinkColor、AlinkColor、vLinkColor属性 LinkColor属性:设置或返回文档中的超链接的颜色。 LinkColor属性:设置或返回文档中的超链接的颜色。 Alinkcolor属性:设置或返回文档中的激活链接的颜色。激活 Alinkcolor属性:设置或返回文档中的激活链接的颜色。激活 链接指的是将鼠标光标移动到某个超链接上,按下鼠标键而 未释放时的状态。 Vlinkcolor属性:设置或返回文档中的已访问过链接的颜色。 Vlinkcolor属性:设置或返回文档中的已访问过链接的颜色。 (2)Bgcolor属性、fgcolor属性: (2)Bgcolor属性、fgcolor属性:设置返回当前文档的背景、前景颜 色 (3)Anchors属性: (3)Anchors属性: 可以当作一个属性或是一个对象来进行处理。利用它可以返 回当前文档中锚的数目,每个锚存储在anchors数组中。示例 回当前文档中锚的数目,每个锚存储在anchors数组中。示例 (4)title属性:返回当前文档的标题,但不能进行设置 示例 title属性:返回当前文档的标题,但不能进行设置 (5)Links属性:表示当前文档中的超链接,其基本的属性的 (5)Links属性:表示当前文档中的超链接,其基本的属性的 length,也使用数组表示超链接. length,也使用数组表示超链接. 示例
(6)Cookie属性: (6)Cookie属性: 示例 是由浏览器读取或写入硬盘的文本文件,不是 可执行文件,存放在特定的文件夹中,只能通 过浏览器进行访问。 它不能存放含有数字和文本的大文件,只能存 储少量的信息,例如用户名和相关的选项信息 客户机上存储的Cookie信息用于在下次请求同 客户机上存储的Cookie信息用于在下次请求同 一页面时,为脚本时提供一种帮助,以便较快 地找到上次存放在客户机上的信息数据。 本例中关闭窗口后, Cookie信息即被删除 Cookie信息即被删除
(7)Write方法:可以将TXT或HTML标识写入指窗 (7)Write方法:可以将TXT或HTML标识写入指窗 口的文档,格式为 document.write string。 string。 String为要写入文档中的TXT或HTML标识等。 String为要写入文档中的TXT或HTML标识等。 Txt可以是字符串变量、字符串常量或超链接 Txt可以是字符串变量、字符串常量或超链接 执行后将把string插入到当前文档的指定位置 执行后将

把string插入到当前文档的指定位置 (8)Writeln方法:在输出字符串末尾添加了回车 (8)Writeln方法:在输出字符串末尾添加了回车 换行操作,使用时必须放在
标记中,否 换行操作,使用时必须放在
标记中,否 则不起作用。部分浏览器不支持该标记。示例 示例 (9)Close方法:关闭当前文档 (9)Close方法:关闭当前文档
(9)Document对象的事件 (9)Document对象的事件 Document对象常见的事件有:click,dblclick, Document对象常见的事件有:click,dblclick, keydown,keyup,mousedow, keydown,keyup,mousedow,mouseover, mouseout,mouseup等。 mouseout,mouseup等。 在文档中与document对象相对应在的HTML标 在文档中与document对象相对应在的HTML标 签是,所以,调用document对象事件 签是,所以,调用document对象事件 处理函数时要在中添加代码 处理函数时要在中添加代码 Click事件:用户在网页上单击左键或者在表单 Click事件:用户在网页上单击左键或者在表单 中按下了键盘上某个键时发生。 Focus事件:获得焦点时发生。 Focus事件:获得焦点时发生。 示例
2、情况语句 select case应用 case应用 又称为控制语句,其作用是根据一个表达式的 值,在给定的一组相互独立的可选语句序列 中选择符合条件的可执行语句序列。 示例一、示例二 示例一、示例二
5.2.4 VBScript的事件 VBScript的事件 VBScript的事件就是用户在浏览器上所执行的 VBScript的事件就是用户在浏览器上所执行的 某些操作,是针对某个对象的如单击鼠标键。 VBScript中提供了几十种不同用途的事件,表 VBScript中提供了几十种不同用途的事件,表 5.3是常用的事件。 5.3是常用的事件。 VBScript是事件驱动(Event-Driver)语言,执行 VBScript是事件驱动(Event-Driver)语言,执行 的是IE浏览器中的事件。 的是IE浏览器中的事件。 VBScript的事件过程均冠以On,如Click事件被 VBScript的事件过程均冠以On,如Click事件被 写成OnClick,它与VB中的不一样,如在VB中 写成OnClick,它与VB中的不一样,如在VB中 按钮被单击的事件名称为Command1_Click() 按钮被单击的事件名称为Command1_Click()
在HTML中,可以将VBScript语句定义为事 HTML中 可以将VBScript语句定义为事 件处理过程,然后通过事件来驱动。 件处理过程,然后通过事件来驱动。在响应某 一事件时,事件驱动应用程序执行的是指定的 一事件时, 代码。 代码。
事件处理过程与普通过程在定义方式上基本相同,仅 调用方式不同。当一个事件发生时,浏览器会根据对 象名称以及所发生的事件来调用与之对应的事件处理 过程。 VBScript提供了四种定义事件处理过程的方式,它可 VBScript提供了四种定义事件处理过程的方

式,它可 以让浏览器知道一个事件处理过程是为那一个对象处 理某个事件。相关介绍如下: (1)使用事件处理过程的名称调用事件处理过程,务 必注意对象的名字与处理过程的名称。示例一 必注意对象的名字与处理过程的名称。示例一 (2)使用HTML控件中的属性来控制事件处理过程。 )使用HTML控件中的属性来控制事件处理过程。 示例二
(3)使用内联事件处理过程 示例 (3)使用内联事件处理过程 控制在HTML中,可以通过内联事件控制器来控制事件。使用 控制在HTML中,可以通过内联事件控制器来控制事件。使用 这种方法,可以不必单独为一个事件编写一个过程,而是把 这种方法,可以不必单独为一个事件编写一个过程,而是把 事件名作某个标识中的一属性。 事件名作某个标识中的一属性。 本例中没有使用script标识,只是在input标识中使用了本身就 本例中没有使用script标识,只是在input标识中使用了本身就 是语句的属性,即事件名onclick。该属性的值放在一对单引 是语句的属性,即事件名onclick。该属性的值放在一对单引 号内,当激活onclick事件时,执行单引号内的语句等。 内,当激活onclick事件时,执行单引号内的语句等。 需要注意的是:在HTML文档中,属性值通常用双引号括起来, 需要注意的是:在HTML文档中,属性值通常用双引号括起来, 而此处的属性值是用单引号括起来的 需要注意的是:使用这种事件过程,事件的属性值可以包含 多个语句,各语句之间用冒号分隔。如 onclick=‘ onclick=‘msgbox “first msgbox”; msgbox “second msgbox”’ msgbox” msgbox”’
(4)使用for/event属性控制事件过程 示例 )使用for/event属性控制事件过程 Script中的两个属性for/event,可以使用它们 Script中的两个属性for/event,可以使用它们 控制事件,可以把HTML文档中的对象及其事 控制事件,可以把HTML文档中的对象及其事 件与另一个对象联系起,完成过程调用。 for/event用于指定与脚本程序相联系的对象和 for/event用于指定与脚本程序相联系的对象和 事件。即当for指定的对象发生了event指定的 事件。即当for指定的对象发生了event指定的 事件后,会执行script中的处理过程。 事件后,会执行script中的处理过程。
VB基础知识 VB基础知识 1、数据类型 在Vbscript中只有一个基本数据类型,即variant,所 Vbscript中只有一个基本数据类型,即variant,所 有变量数据类型都是variant。 有变量数据类型都是variant。 在variant中,如果用户使用整数, Vbscript就把它当 variant中,如果用户使用整数, Vbscript就把它当 作整数对待;如果使用字符串,则Vbscript就把它当 作整数对待;如果

使用字符串,则Vbscript就把它当 作字符串对待。即数据像什么类型,就把它当作什么 类型。 在Vbscript中,字符串要放在双引号中。 Vbscript中,字符串要放在双引号中。 在Vbscript中,variant包含了其他程序语言的基本数 Vbscript中,variant包含了其他程序语言的基本数 据类型,并且把这些基本数据类型称为子类型。
子类型的分类: (1)string子类型:包含变长字符串,必须放在双引 string子类型:包含变长字符串,必须放在双引 号之间,长度可以为0 号之间,长度可以为0。 (2)integer子类型:存储为16位的整数形式 integer子类型:存储为16位的整数形式 (3)Boolean子类型:逻辑值,true或false。 Boolean子类型:逻辑值,true或false。 (4)long子类型:带符号的4位整数。 long子类型:带符号的4 (5)single子类型:单精度浮点数。 single子类型:单精度浮点数。 (6)double子类型:双精度浮点数。 double子类型: (7)date/time子类型:日期与时间类型。 date/time子类型:日期与时间类型。 使用函数vartype()可以返回参数的子类型,参考表5 使用函数vartype()可以返回参数的子类型,参考表5-5, 示例
类型转换函数
函数 Cbool() Cbyte() Cdate() Cdbl() Cint() Cstr() Clong() 描述 转换为子类型是boolean型的variant变量 转换为子类型是boolean型的variant变量 转换为子类型是byte型的variant变量 转换为子类型是byte型的variant变量 转换为子类型是date型的variant变量 转换为子类型是date型的variant变量 转换为子类型是double型的variant变量 转换为子类型是double型的variant变量 转换为子类型是integer型的variant变量 转换为子类型是integer型的variant变量 转换为子类型是string型的variant变量 转换为子类型是string型的variant变量 转换为子类型是long 型的variant变量 转换为子类型是long 型的variant变量
2、常量 常量是具有一定含义的数或字符中的名称,用于代替数值或 字符串,其值从不改变。 分类:文字常量与符号常量 文字常量包括字符串常量和数值常量
字符串常量:由包含在双引号内的字符组成,如”abc” 字符串常量:由包含在双引号内的字符组成,如”abc”、”字符串” 字符串” 数值常量:由整型、长整型和浮点数组成,如12、 数值常量:由整型、长整型和浮点数组成,如12、12.23
符号常量:系统定义的,用一个字符串代表固定的含义,如 True、VbCrLf、Null等。 True、VbCrLf、Null等。 可以使用const在Vbscript中创建用户自定义的符号常量,代 可以使用const在Vbscript中创建用户自定义的符号常量,代 表一个字符串或数值常量,如const a=”教师” 表一个字符串或数值常量,如const a=”教师” const b=25 示


3、变量 (1)命名 只能由字母、数字和下划线组成,忽略大小写差别。 不能使用Vbscript关键字作为变量名如msgbox=“123” 不能使用Vbscript关键字作为变量名如msgbox=“123” (2)声明 变量必须要先声明再使用,有两种声明方式:显示声 明与隐式声明。 显示声明使用dim/private/public在脚本中创建和开始 显示声明使用dim/private/public在脚本中创建和开始 一个变量的过程。 dim/private/public指定的变量的 dim/private/public指定的变量的 生命期。如:dim 生命期。如:dim a,b,c : a=12 隐式声明:直接使用变量名这一简单方式声明变量, 隐式声明:直接使用变量名这一简单方式声明变量, 如a=10.
隐式声明存在一定的潜在问题,如 myvar1=100 :myvarl=200 系统会认为是两个变量, 为了解决这一问题可以使用强制要求显示声明,即 option explict 示例 (3)Dim/private/public的使用 (3)Dim/private/public的使用 格式:dim/private/public 格式:dim/private/public 变量名,变量名 或变量名(维数),变量名(维数) 用dim声明的script级变量可以用于脚本中的所有过程 dim声明的script级变量可以用于脚本中的所有过程 (变量的声明既可以是在脚本的过程外)或只用于 变量的声明既可以是在脚本的过程外)或只用于 过程中(变量的声明是在过程中 过程中(变量的声明是在过程中)。示例 变量的声明是在过程中)。示例 Private声明的变量只能在声明该变量的脚本中使用。 Private声明的变量只能在声明该变量的脚本中使用。 Public声明的变量可以运用于全部脚本的所有过程, Public声明的变量可以运用于全部脚本的所有过程, 只能放在过程外。
4、数组的声明及初始化 可以隐式声明,但不推荐,建议显示声明,格式为 dim 数组名(num1,num2…) 数组名(num1,num2… 数组下标的下界一律为0,如dim a(2),数组中包含 数组下标的下界一律为0,如dim a(2),数组中包含 了三个元素。 a(0) a(1) a(2) 使用dim 语句定义的数值数组中,元素初始化为0 使用dim 语句定义的数值数组中,元素初始化为0, 字符串数组初始化为空字符串 示例 5、内置函数 (1)int(number):去除小数部分,取整。 int(number):去除小数部分,取整。 (2)lcase(string):大写英文转为小写英文。 lcase(string):大写英文转为小写英文。
(3)ucase(string):小写英文转为大写英文。 (3)ucase(string):小写英文转为大写英文。 (4)len(string/varname):返回字符串内字符的数 (4)len(string/varname):返回字符串内字符的数 字。 (5)left(string,n):返回字符串的前面n (5)left(string,n):返回字符串的前面n个字符。 (6)right(string,n):返回字符串的后面n (6)right(string,n):返回字符串的后面n个字符。 (7)mid(string,p,n):

从字符串的第p (7)mid(string,p,n):从字符串的第p个字符开始, 向后取n 向后取n个字符。 (8)abs(number):绝对值。 (8)abs(number):绝对值。 (9)Now():当前系统的时间和日期。 (9)Now():当前系统的时间和日期。 (10)date() weekday() time() hour() minute()
6、选择结构:单条件选择结构 (1)行if语句 )行if语句 格式为:if 格式为:if condition then statements (2)块if语句 (2)块if语句 格式为: if condition then statements1 [else] statements2 end if 示例1 示例1 示例2 示例3 示例2 示例3
(3)if语句的嵌套: if语句可以嵌套使用,即在语句的操作块中 if语句的嵌套: if语句可以嵌套使用,即在语句的操作块中 (statements1/2)使用IF语句 示例 statements1/2)使用IF语句 (4)elseif语句的使用 elseif语句的使用 当代码中出现多层if语句嵌套时,将使程序冗长而不便阅读,vbscript提供了 当代码中出现多层if语句嵌套时,将使程序冗长而不便阅读,vbscript提供了 带elseif语句来处理当条件为假时又内嵌if语句的情形。 elseif语句来处理当条件为假时又内嵌if语句的情形。 If 条件1 then 条件1 语句列1 语句列1 Elseif 条件2 then 条件2 语句列2 语句列2 … [else [其他语句列]] 其他语句列]] End if 允许出现多个elseif子名存在,当条件1 允许出现多个elseif子名存在,当条件1表达式值为假时,依次检验每一个 elseif子句中的条件表达式,如果某个elseif子句的条件为真,那么,执行 elseif子句中的条件表达式,如果某个elseif子句的条件为真,那么,执行 该部分的代码,当所有elseif子句中的条件都为假时,执行else部分。 该部分的代码,当所有elseif子句中的条件都为假时,执行else部分。
3、循环语句的使用 循环语句允许一行或者多行代码重复执行,重复的次 数可以事先确定,也可以是通过指定条件来控制 循环可以分为两类,一类是一直执行直到条件不成立 为止,另一类是按照指定的循环次数重复执行。 循环语句有四种形式,分别是 do…loop/while…wend/for…next/for each…next do…loop/while…wend/for… each…
(1)do…loop语句 do…loop语句 可以不循环次数,是通过循环条件来控制循环次数的,语 法格式分前测型与后测型。 前测型格式 DO WHILE <条件> <条件> DO until <条件> <条件> [<语句列1>] [<语句列1>] [<语句列1>] [<语句列1>] [exit do] [exit do] [语句列2>] 语句列2>] [语句列2>] 语句列2>] loop loop (1)对于do while语句,判断条件是否成立。成立(值为true) )对于do while语句,判断条件是否成立。成立(值为true) 的话,执行语句列1。不成立(值为false)的话,退出循环 的话,执行语句列1。不成立(值为false)的话,退出循环 体,执行l

oop后的语句。程序执行到loop后,进行条件的再 体,执行loop后的语句。程序执行到loop后,进行条件的再 次判断。返回第1 次判断。返回第1步 (2)对于do until语句,判断条件是否成立。成立的话,退出循 )对于do until语句,判断条件是否成立。成立的话,退出循 环体,执行loop后的语句。不成立的话,执行语句列1 环体,执行loop后的语句。不成立的话,执行语句列1。程 序执行到loop后,进行条件的再次判断。返回第1 序执行到loop后,进行条件的再次判断。返回第1步。
后测型do…loop语句 后测型do…loop语句 DO [<语句列1>] [<语句列1>] [exit do] [语句列2>] 语句列2>] loop [{WHILE∣until} <条件>] [{WHILE∣ <条件>] 首行执行do loop之间的语句列,然后再进行 首行执行do 与loop之间的语句列,然后再进行 判断条件,根据WHILE或until来决定是否继续 判断条件,根据WHILE或until来决定是否继续 执行或是退出,其特点是无论条件符合与不符 合都执行一次循环操作与前测型的循环不同。 示例
(2)while…wend语句 while…wend语句 通过循环控制条件来设置循环次数。 格式 While condition 语句 Wend 说明:先检测条件是否为真,如是真则进行循 环,如果在循环中,条件值变化到不符合要求, 就退出循环。 语句中没有退出循环的语句。 示例
(3)for…next语句 for…next语句 如果确定循环的次数可以使用for…next语句。 如果确定循环的次数可以使用for…next语句。 在for…next语句中,使用一个循环变量来进行循环 for…next语句中,使用一个循环变量来进行循环 次数的统计,每循环一次,此变量就会进行一次相 应的加减,当此变量的值到达一范围时,循环结束 语法 For <循环变量>=<初值>TO<终值>[Step<步长值>] <循环变量>=<初值>TO<终值>[Step<步长值>] [<语句列1>] [<语句列1>] [Exit for] [<语句列2>] [<语句列2>] 示例 Next step后的步长可以省略,默认为1 step后的步长可以省略,默认为1。步长值可以为正 或为负。需要注意的是当step后的步长为负时,初 或为负。需要注意的是当step后的步长为负时,初 值要大于终值。
(4)for each…next语句:既不指定循环执行 each…next语句:既不指定循环执行 的次数,也不指定循环结束条件,而是对数组 或集合中的元素进行枚举,当枚举结束之后才 会即出循环,它可以对数组或是集合中的每个 元素重执行一条或多条语句,多用于对数据库 的操作过程。 语法: for each <成员> in <数组> <成员> <数组> 语句 next
示例
4、过程应用 示例 (1)过程的调用 (2)过程中的结束 (3)过程中的参数分类:byref(按地址传递, )过程中的参数分类:byref(按地址传

递, 是默认形式) byval(按值传递)示例 是默认形式),byval(按值传递)示例 (4)过程中的分类:private与public )过程中的分类:private private与

相关文档
最新文档