




已阅读5页,还剩54页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章 VBScript脚本语言基础,3. 1 脚本语言概述 3. 2 VBScript脚本语言 3. 3 VBScript常用函数 3. 4 VBScript编程实例,3. 1 脚本语言概述,3. 1. 1 服务器端脚本和客户端脚本 目前比较流行的脚本语言有两种:VBScript和JavaScript。其中VBScript基于Microsoft公司的Visual Basic语言;而JavaScript基于SUN公司的Java语言对LiveScript重新设计而来的。 使用VBScript和JavaScript,既可以编写服务器端脚本,也可以编写客户端脚本。,3. 1 脚本语言概述,3. 1. 2 VBScript和JavaScript VBScript和JavaScript都是脚本语言。 目前可以解释VBScript脚本的浏览器只有Microsoft Internet Explorer,而Netscape Navigater将忽略VBScript脚本。在Active Sever Pages中的缺省语言是VBScript。,3. 1 脚本语言概述,服务器端脚本和客户端脚本的主要区别: 服务器端脚本在Web服务器上执行,由服务器根据脚本的执行结果生成相应的HTML页面并发送到客户端浏览器中并显示。 客户端脚本由浏览器进行解释执行。,客户端脚本,一般形式如下: 属性的意义:LANGUAGE:指定使用哪一种脚本语言,不同的浏览器支持的脚本语言是不一样的。EVENT:指定与此段脚本相关联的事件。FOR:指定与事件相关联的对象。,客户端脚本编程实例,说明:使用客户端脚本程序时,脚本代码应写在之间,并显示指定所使用的脚本语言名称。脚本代码可位于HTML文件的任意位置。,服务器端脚本,服务器端脚本实例,1服务器端脚本 ,3. 2 VBScript脚本语言,3. 2. 1 将单行语句分成多行 使用续行符“ -”(由一个空格和一个下划线组成),将长的语句分成多行书写。,3. 2 VBScript脚本语言,3. 2. 2 在代码中加注释 注释语句可以有两种表现形式,一种是通过使用Rem语句,Rem后的任何文本都会认为是对程序的注释,不会被处理。另一种是采用西文单引号“”,即以撇号作为注释的开始,注释可以和语句在同一行并写在语句的后面,也可以单独占一行。,3. 2 VBScript脚本语言,3. 2. 3 使用不同进制的数字 在VBScript中,除了可以用默认的十进制来表示数字外,还允许使用十六进制或八进制来表示数字。,3. 2 VBScript脚本语言,3. 2. 4 数据类型 在VBScript中,只有一种数据类型,即Variant类型,但变量可以根据所赋值的不同而代表不同类型的数据。 在Variant类型中包含了多种子数据类型 。,数据类型及其子类型,Byte(字节)、String(字符串)、 Integer(整型)、Long(长整型)、 Single(单精度浮点数)、 Double(双精度浮点数)、 Currency(货币)、Boolean(布尔型)、 Date/Time(日期/时间)、 Empty(空类型)、Null(空值)、 Object(对象)、Error(错误)。,3. 2 VBScript脚本语言,3. 2. 5 常量 1文字常量 (1)字符串常量: “学习语言” (2)数值常量: 120 (3)日期时间型常量: #6-1-2005# 2符号常量 :由Const 定义 如:Const PI=3.1415926,3. 2 VBScript脚本语言,3. 2. 6 变量 1变量命名约定 2声明变量 3变量的作用域 变量的作用域指的是变量的有效范围,因为变量被声明后不是在任何地方都可以被使用,每个变量都有它的使用范围,在作用域内可以使用变量,在作用域外则变量不可见。,变量命名规则,变量的名字必须以字母开头。 名字中不能含有除字母,数字,下划线以外的其他字符。 名字不能超过255个字符。 名字不能和VBScript中的关键字同名。 变量名在被声明的作用域内必须惟一。,声明变量,(1)隐式声明方式。 使用一个变量前并不需要声明,而可以直接在脚本代码中使用,系统会自动地在内存中开辟存储区域登记变量名。 (2)显式声明方式。 使用变量声明语句Dim、Public和Private语句。显式声明可以在定义变量的时候为变量在内存中预留空间,登记变量名。 dim 变量名 dim 变量名1,变量名2 (3)强制变量声明:Option Explicit 放在第1行,如果有,则放在地1行,3. 2 VBScript脚本语言,3. 2. 7 数组 1静态数组 静态数组可分为一维数组、二维数组或多维数组。数组的维数和大小由数组名之后紧跟的括号中的数字的个数和数值的大小来决定。静态数组的大小在运行时不可改变。它是在编译时开辟内存区的。 2动态数组 动态数组是运行时大小可变的数组。当程序没有运行时,动态数组不占内存,在程序运行时才开辟内存区。,使用数组之前要先进行定义,然后才能使用。通常用Dim语句来定义数组。 Dim A(10) 数组下标的下界一律从0开始。 一个数组中可以含有各种子类型的数据元素。,动态数组的使用,定义一般分两步:首先用Dim语句声明一个括号内不包含下标的数组,然后在使用数组之前用ReDim语句根据实际需要重新定义下标值。也可以用ReDim语句直接定义数组。运行时大小可变。 使用ReDim后,原数组中的内容被清除。如果既要改变数组大小又要保留数组的内容,须在ReDim后加入Preserve关键字。,3. 2 VBScript脚本语言,3. 2. 8 运算 1算术运算:+,-,*,/,mod 2连接运算: , + 3关系运算: =、=、 4逻辑运算: Not、And、Or、Xor(异或)、Eqv(等价)、Imp(隐含) 5运算符的优先顺序 算术连接关系逻辑,常用的运算符,3. 3 VBScript常用函数,3. 3. 1 MsgBox函数 函数的一般格式如下所示: MsgBox(prompt, buttons , title , helpfile, context) MsgBox函数用于弹出一个带有提示消息和按钮的对话框,在把消息提示给浏览者后,也会返回浏览者单击按钮的编码值。 MsgBox函数完整形式描述如下: MsgBox 提示消息,按钮,标题, 帮助文件,帮助文件上下文编号,MsgBox函数,提示消息:用于设置在对话框上显示的提示消息,最大长度可以有1024个字符。如果需要包含多个行,可以使用回车符 (Chr(13)、换行符 (Chr(10) 或回车换行符的组合 (Chr(13) & Chr(10) 分隔各行。 按钮:用来指定显示按钮的数量和类型,设置的值与对应的描述见表3.6。当对话框需要同时具有多个描述的特征的时候,可以把对应的值进行相加运算,例如我需要“显示放弃、重试和忽略按钮”并且“显示临界信息图标”,则数值应该设置为18(2+16);,3. 3 VBScript常用函数,3. 3. 2 InputBox函数 函数的一般格式如下所示: InputBox(prompt, title , default , xpos , ypos , helpfile, context) InputBox函数用于弹出一个带有提示消息和文本框的对话框,用于提示用户和返回用户输入到文本框中的信息。 InputBox函数完整形式描述如下: InputBox 提示消息,标题,文本框默认字符串,水平位置,垂直位置, 帮助文件,帮助文件上下文编号 属性说明如下:,InputBox函数,提示消息:用于设置在对话框上显示的提示消息,具体说明可以参照MsgBox函数的提示消息说明; 标题:设置对话框标题栏显示的字符串; 文本框默认字符串:显示在文本框中的字符串,如果省略,显示为空; 水平位置:用于指定对话框的左边缘与屏幕左边缘的水平距离,如果为空,则水平居中; 垂直位置:用于指定对话框的左边缘与屏幕上边缘的垂直距离,如果为空,则垂直居中; 和MsgBox函数一样,除了第一个属性是必须的外,其他属性都是可选属性。,3. 3 VBScript常用函数,3. 3. 3 数学函数 求平方根函数(Sqr)求绝对值函数(Abs) 指数函数(Exp)对数函数(Log)符号函数(Sgn)三角函数,3. 3 VBScript常用函数,3. 3. 4 字符串函数,3. 3 VBScript常用函数,3. 3. 5 日期和时间函数,3. 3 VBScript常用函数,3. 3. 6 数据类型转换函数,3. 3 VBScript常用函数,3. 3. 7 数据类型判别函数,3. 2 VBScript脚本语言,3. 2. 9 控制结构 1选择结构 (1)单行结构 (2)块结构 2多分支结构 3循环结构 (1)For循环 (2)Do循环 (3)While循环,条件控制语句,(1)简单条件控制语句。其语法如下: If 条件表达式 Then 语句体1 Else 语句体2 (2)嵌套条件控制语句。语法格式如下: If 条件表达式1 Then 语句体1 Else If条件表达式2 Then 语句体2 Else 语句体n End If,多分支结构,可以用多分支结构来替代块结构的条件语句,多分支结构比块结构的条件语句容易阅读。多分支结构的语法如下: Select Case 测试表达式 Case 表达式1 语句体1 Case 表达式2 语句体2 Case Else 语句体n End Select,循环控制语句,1For循环 (1)ForNext语句。 For 循环变量=初值 To 终值 Step 步长 循环体 Exit For Next 循环变量 (2)For EachNext语句 For Each 元素 In 集合 语句体 Next 元素,Do循环,第一种: Do While|Until循环条件 循环体 Exit Do Loop 第二种: Do 循环体 Exit Do Loop While|Until循环条件,While循环,While 循环条件 循环体 Wend While循环是先判断循环条件,根据循环条件的值来决定是否执行循环体。如果循环条件为真或不为0时执行循环体,直到循环条件不满足时退出While循环。,3. 2 VBScript脚本语言,3. 2. 10 过程 1Sub过程 2函数,过程,VBScript的过程有如下几个特点: 过程只能有单一入口,但可以有多个出口。 在浏览器的任何一个网页中都可以定义过程,习惯上将过程定义在和中。 可以用浏览器所特有的事件来调用。 通过过程可以将重复使用的代码单独定义,提高代码利用率。 使得查错和改错工作变得简单。 可以向过程中传递任何有效的参数。,子过程,Sub过程是没有返回值的过程,一般格式如下: PrivatePublicSub 过程名(参数列表) 语句块 Exit Sub 语句块 End Sub 用Call语句调用子过程的语法如下: Call 子过程名(参数列表),函数,PrivatePublic Function函数名(参数列表) 语句块 函数名=表达式 Exit Function 语句块 End Function 可以用Call语句来调用函数。,Exit语句,1、如果需要中断一个子过程,则需要在子过程中使用Exit Sub语句,如果想要中断一个函数,则需要在函数中使用Exit Function语句。,2、退出Do循环时用Exit Do语句;退出For循环 时用Exit For语句,说明:使用Exit Sub或Exit Function语句的主要 目的是为了进行出错处理。,VBScript常用事件,输入一个日期,然后判断出这个日期是星期几,并把这个结果输出。(提示:使用weekday(日期)函数可以返回星期编码,礼拜天返回1,礼拜一返回2,礼拜六返回7),程序如下: dim dat,wnum dat=inputbox(“输入时间”&Chr(13)&“格式为:月-日-年“) wnum=weekday(dat) select case wnum,技能与实训,case 1 msgbox“礼拜天“ case 2 msgbox“礼拜一“ case 3 msgbox“礼拜二“ case 4 msgbox“礼拜三“ case 5 msgbox“礼拜四“ case 6 msgbox“礼拜五“ case 7 msgbox“礼拜六“ end select ,思考与练习,1. 填空题 (1) VBScript脚本就是以_开始,以_结束的语句块。 (3) 写出下列常用函数的作用 Left(String,num):_。 Date():_。 Cdate(expression):_。 IsNUll(myvar):_。,(4) 在 VBScript 脚本语言中,只有一种数据类型,即_。 (5) 在 VBScript 脚本语言中,用_语句来显式声明变量。 (6) 在 VBScript 脚本语言中,#2005-1-13 10:35:20 AM# 是_类型的常量。 (7) 计算表达式的值:24 Mod 5= _。,(8) 表达式 (34) and (45) 的结果为_,表达式 “cdef “ “cdma“ 的结果为_。 (9) 求函数值:left(“淄博职业学院信息工程系, 4“)= _。,2. 选择题 (1) 以下关于VBScript叙述错误的是( )。 A. VBScript和VB是一样的 B. VBScript是ASP的默认脚本语言 C. VBScript 可以直接由IE执行 D. VBScript不区分大小写 (2) 在进行字符串连接操作时,最好使用( )运算符号。 A. Add B. & C. + D. * (3) 以下不是VBSscript中定义变量的关键字是( )。 A. Dim B. Private C. Public D. Integer (4) 以下不是VBSscript中定义数组的关键字是( )。 A. Dim B. Private C. Public D. Integer,(5) 以下不是VBScript算术运算符的是( )。 A. + B. / C. mod D. = (7) 以下常量表示日期的是( )。 A. 2005 B. 2005-10-9 C. 2005.10.9 D. #2005-10-9# (8) Len(String)函数返回的是( )。 A. 字符串的长度 B. string右边的num个字符 C. 将string转换成字符串型 D. 创建含有len个字符的字符串,3. 判断题 (1) VBScript完全能够取代HTML。( ) (2) VBScript只有一种Variant数据类型。( ) (4) Dim A(9) 定义了具有9个数组元素的数组。( ) (5) “+”和“&”都可以作为字符串连接符。( ) (6) MsgBox函数必须包含“提示信息”参数。( ),3. 4 VBScript编程实例,本节根据前面所讲的内容,结合具体的实例,讲述如何利用客户端脚本实现相关应用。,一个简单页面,这段代码作了许多事情。 当 Internet Explorer 读取页面时,找到 标记,识别出 VBScript 代码并保存代码。单击按钮时,Internet Explorer 使按钮与代码连接,并运行该过程。 标记中的 Sub 过程是一个事件过程。过程名包含两部分:一部分为按钮名,即 Button1(从 标记中的 NAME 属性获取),另一部分为事件名,即 OnClick。两部分由下划线 (_) 连接。单击按钮时,Internet Explorer 查找并运行相应的事件过程,即 Button1_OnClick。 Internet Explorer 在 Internet Explorer Scripting 对象模型文档中定义了可用于窗体控件的事件,它们可以在Microsoft(R) Web 站点上找到 ()。, 一个简单首页 一个简单首页 ,按钮的名称不可与HTML的关键字相同。否则会产生错误,实例1:简单的客户端验证程序, 客户端验证程序 Sub button1_OnClick Dim TheForm Set TheForm = Document.Form1 If IsNumeric(TheForm.Text1.Value) Then If TheForm.Text1.Value 10 Then MsgBox “请输入一个 1 到 10 之间的数字。“ Else MsgBox “谢谢。“ TheForm.Submit 数据输入正确,传递到服务器。 End If Else MsgBox “请输入一个数字。“ End If End Sub 验证 请输入一个1到10之间的数字: ,说明:,这是一个简单的客户端验证的范例。HTML 代码的描述是一个文本框和一个按钮。 要使用文本框的 Value 属性,代码必须引用文本框的名称。每次引用文本框时都应写出全称,即 Document.ValidForm.Text1。但是,当多次引用窗体控件时,可以按照以下步骤操作:首先声明一个变量,然后使用 Set 语句将窗体 Document.ValidForm 赋给变量 TheForm,这样就能使用 TheForm.Text1 引用文本框。常规的赋值语句(例如 Dim)在这里无效,必须使用Set来给对象变量赋值。 请注意以上范例直接检测输入值是否是一个数字,使用 IsNumeric 函数确定文本框中的字符串是否是一个数字。虽然 VBScript 能够自动转换字符串和数字,但检测用户输入值的数据子类型,并且在必要时使用转换函数始终是一个好的习惯。在用文本框的 Value 属性进行加法运算时,应将它显式地转换为数字,这是因为加号 (+) 操作符不但可进行加法操作,而且可进行字符串连接操作。 本范例使用的是普通按钮控件。如果使用Submit控件,所有数据都会被立即传送到服务器,将无法真正完成对输入数据进行检查的任务。避免
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年安徽职业技术学院高职单招(数学)历年真题考点含答案解析
- 2025年宁夏葡萄酒与防沙治沙职业技术学院高职单招高职单招英语2016-2024历年频考点试题含答案解析
- 2025年天津医学高等专科学校高职单招语文2019-2024历年真题考点试卷含答案解析
- 货物运输代理合同范本
- T-CESA 1150-2021 人工智能芯片应用 面向汉盲翻译系统的技术要求
- 花儿音乐会课件
- 房地产企业战略合作合同协议
- 毕业设计论文答辩框架
- 2022营养包培训课件
- 甲状腺术后护理教学查房
- 2024年湖北省中学教师招聘考试真题
- 北京市朝阳区2025届高三一模质量检测一 语文试题(含答案)
- 马工程《刑法学(下册)》教学课件 第16章 刑法各论概述
- 2023年新改版教科版四年级下册科学活动手册答案
- GB/T 11586-1989巴拿马运河导缆孔
- 浙江大学-傅琳-答辩通用PPT模板
- 五年级下册数学教案-分数乘分数 北师大版
- 伽利略介绍-课件
- 初中化学人教九年级下册 酸和碱《如何证明无明显现象化学反应的发生》教学设计
- DB37T 3862-2020 汽油清净增效剂技术要求
- 框架涵施工工艺标准
评论
0/150
提交评论