- 1、本文档共23页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VBScript程序控制.
单元八 VBScript程序控制
[学习目标]VBScript的程序构成;过程与函数的定义、调用与参数传递;判断结构与选择结构的使用;循环结构程序的编制;错误的处理。
世界上的事物总是千变万化的,也是相互联系的。因此我们在处理任何一件事务时总会面临着判断与选择;有时候我们还不得不重复着某些事务,程序的设计也同样如此。前面章节我们所学习的程序应该说是非常简单的,大多数程序的共同特点是脚本运行时是从上到下顺序执行程序中的所有指令,总是终止于最后一行。事实上,顺序结构只是VBScript程序结构中的一种,与其他语言一样,VBScript也具备三种基本的程序结构:顺序结构、分支结构与循环结构。同时过程与函数又是构成VBScript脚本的基本逻辑单元,所以要想真正学会学好VBScript编程,必须要学会如何使用这些程序结构对程序进行控制。
8.1 VBScript过程与函数
[实例说明] 移动的文字
图8-1 文字的移动
在网页设计软件中也具备制作滚动字幕的功能,但利用VBScript也可以实现。网页看起来很简单,单击“试试看”按钮后,标题“友缘相聚”即会自左向右移动,到达边缘后又会回到右侧继续移动。移动过程中当鼠标指向该文字后,文字会重新回到起始位置再移动 (图8-1)。
[代码分析]
代码如VBS08_01.htm所示,这是一个比较复杂的脚本。文字对象使用Div来定义,同时定义了一些显示样式,名称为divMove。整个脚本代码由两个过程和一个函数构成:
函数Move()—实现对象divMove(待移动的文字对象)的移动,移动实际上是通过不断地改变divMove对象的posleft属性来实现的:
divMove.style.posleft=divMove.style.posleft-10
文字的循环移动中使用了Windows对象的setTimeOut方法,每隔0.05秒调用函数Move()自身一次。代码中使用的判断结构来实现文字移动到边缘时的复位。
过程Button1_onClick—响应按钮Button1单击时的过程脚本,该脚本实际上只有一句,启动文字移动过程。
过程divMove_onMoveOver—鼠标指向divMove文字对象时的过程脚本,其目的是将divMove对象复位重新开始移动。
本网页中还使用了表单对象,用于定义一个命令按钮以启动文字的移动。
[相关知识]
函数或过程是VBScript程序的基本组成单元,它一方面可以使程序有清晰的结构;另一方面也提高了程序的效率。
从上面的实例可以看出,无论是函数还是过程都具有一定的结构。函数与过程必须先定义后调用,而且一经定义即可多次调用,提高了脚本的效率。
过程的定义:
Sub 过程名[(参数1,参数2,……参数n)]
过程体
End Sub
函数的定义:
Function 函数名[(参数1,参数2,……参数n)]
函数体
函数名=表达式
End Function
在进行过程与函数的定义时要注意以下几点:
(1)过程名与函数名必须符合VBScript标识符的有关规定
(2)与内置函数一样,函数与过程都可以带若干个参数,参数间以逗号隔开,这些参数代表的是传递给过程或函数进行处理的数据,称为形式参数(形参)。当然也可以不带参数,此时“()”可以省略。
(3)在进行函数定义时,一般需要有“函数名=表达式”,将运算的结果送到函数名中以返回给调用程序。
(4)由于VBScript也是属于面向对象的语言,因此也有许多事件、方法是以过程的形式出现的,对于这些过程其名称与参数都是固定的,用户不能随便修改,如实例中的divMove_onmouseover过程。
过程的调用:
过程的调用基本有两种方式:
(1) Call 过程名[(参数1,参数2,……参数n)]
(2) 过程名 [参数1,参数2,……参数n]
过程调用也属于VBScript语句,因此也应该放置在脚本之间。调用语句中出现的参数通常称为实际参数(实参),其与形参应保持一一对应的关系:位置、类型、个数。
函数的调用:
函数的调用与VBScript的内置标准函数的调用方法相同,即函数只能出现在表达式中,不能以单独的语句形式出现。参数的传递与过程调用相同。
VBS08_02.htm是一个过程与函数使用的实例。
这是一个可以随机生成10以内加减的小学生算术题的程序。整个程序由一个主控程序、两个函数与一个过程构成。rndNumber随机生成一个10以内的整数,rndOperator随机生成加法或减法算符,showMsg(strMsg)显示所生成的算式。主控程序首先调用rndNumber与rndOperator函数以生成两个操作数与算符,接着要判断所生成算式的合法性(运算结果不能为负数),如不合法则重新生成(通过一个
文档评论(0)