




已阅读5页,还剩71页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ASP程序设计,1,第3章 VBScript脚本语言,3.1 VBScript概述 3.2 VBScript的基本数据类型及输入输出 3.3 VBScript的表达式和运算符 3.4 VBScript的控制结构 3.5 VBScript的函数和子过程 3.6 VBScript的内部库函数 3.7 VBScript的对象和事件 3.8 VBScript纠错处理,ASP程序设计,2,3.1 VBScript概述,3.1.1 VBScript概述 3.1.2 VBScript与JavaScript 3.1.3 VBScript脚本类型 3.1.4 VBScript实例,ASP程序设计,3,3.1 VBScript概述,静态网页的功能有很大的局限性,因此具有强大的交互能力的动态网页得到了广泛的流行。 VBScript是目前进行动态网页开发中必不可少的一种脚本语言。,ASP程序设计,4,3.1.1 VBScript概述,HTML语言编写的网页是一种静态文档 。 脚本语言和HTML标记一起编写动态网页,这种网页可以被服务器执行。 脚本语言是介于HTML和Java、Visual Basic等编程语言之间的语言,可使用任何文本编辑器编写,保存为纯ASCII文本文件。 目前比较流行的脚本语言主要有两种,即VBScript和JavaScript。,ASP程序设计,5,3.1.2 VBScript与JavaScript,在IIS中设定。 在网页中指定脚本语言 利用设定脚本语言,例如: ,ASP中的缺省语言是VBScript。 脚本语言的设置方法主要有:,ASP程序设计,6,3.1.3 VBScript脚本类型,1客户端脚本 客户端脚本由浏览器解释执行。 ,LANGUAGE:指定使用哪一种脚本语言 EVENT:指定与此段脚本相关联的事件 FOR:指定与事件相关联的对象,ASP程序设计,7,3.1.3 VBScript脚本类型,2服务器端脚本 在Web服务器上执行,由服务器根据脚本的执行结果生成相应的HTML页面并发送到客户端浏览器中并显示,不受浏览器的限制。,ASP程序设计,8,3.1.4 VBScript实例,ASP程序设计,9,3.2 基本数据类型及输入输出,3.2.1 简单编程约定 3.2.2 基本数据类型及其子类型 3.2.3 变量 3.2.4 常量 3.2.5 数组 3.2.6 基本输入输出,ASP程序设计,10,3.2.1 简单编程约定,1程序中的层次感和注释,一般格式为: 格式一: Rem 注释内容 格式二: 注释内容 或 语句 注释内容,两种表现形式: 通过使用Rem语句 采用西文单引号“”,ASP程序设计,11,3.2.1 简单编程约定,2单行文本转成多行,使用续行符“ _”(由一个空格和一个下划线组成),将长的语句分成多行书写。 Str = “南京师范大学前身是”&vbCtrlf& _ “三江师范学堂!”,3使用不同进制的数字,在VBScript中,可以用默认的十进制来表示数字,还使用十六进制或八进制来表示数字。,ASP程序设计,12,3.2.2 基本数据类型及其子类型,VBScript只有一种特殊的数据类型,即变体(Variant)数据类型,它可以随着变量被使用方式的不同而包含不同的数据信息,会根据不同的应用环境,将变量区别对待。 由变体类型引申出来的类型称为子类型。,ASP程序设计,13,子类型,1. 字符串型(StrName) 字符串类型用于保存字符串数据,字符串类型用String表示,可包含变长字符串,最大长度可存放20亿个字符。字符串前后要加上“ ”,例如:“Good morning !”、“程序”。 2数值型 数值型根据存放的数值的范围不同,可分为下列类型: Byte型(字节型1B)BytCharacter 包含0到255之间的整数 Integer型(整型2B)IntYear 包含-32 768到32 767之间整数,ASP程序设计,14,Long型(长整型4B)LngNumber 包含-2147 483 648 到2 147 483 647 之间的整数 Single型(4B)SngSalary 包含单精度浮点数,负数范围从-3.402823E38到-1.401298E-45,正数范围从1.401298E-45到3.402823E38 Double型(8B)DblPopulatin 包含双精度浮点数,负数范围从-1.79769313486232E308到-4.94065645841247E-324,正数范围从4.94065645841247E-324到1.79769313486232E308,ASP程序设计,15,3. 货币型CurMoney 用Currency表示,-922 337 203 685 477.58到922 337 203 685 477.5807 4. 日期型DtmSystem 日期类型用来保存日期和时间数据,日期数据要求在日期时间值前后加上“#”。例如:#12-3-2003#。日期类型用Date(Time)表示,包含表示日期的数字,日期范围从公元100年1月1日到公元9999年12月31日。,ASP程序设计,16,5. 逻辑型(2B)BlnRetired 逻辑类型数据主要用来存放逻辑判断的结果,取值为逻辑值,即True(真)或False(假)。当将其他数据类型转换为逻辑数据时,非0转换为True,0转换为False。 逻辑类型用Boolean表示,包含True或False。 6. 对象型 (4B)ObjTemp,ASP程序设计,17,3.2.3 变量,变量是指计算机中用来表示内存位置的一种符号,在内存中存储着程序所需的各种数据,脚本执行时这个内存中的数据可以改变。它不区分大小写。 Dim StrName ;,ASP程序设计,18,3.2.3 变量,1变量命名规则,变量的名字必须以字母开头; 名字中不能含有任何的标点符号; 名字最大长度不能超过255个字符; 名字不能和VBScript中的关键字同名; 变量都有作用域,它由变量的声明位置决定,ASP程序设计,19,3.2.3 变量,2声明变量,(1)隐式声明方式:在使用变量前并不需要声明,而可直接使用。 IntDegree45,(2)显式声明方式:使用变量声明语句来声明变量的方式。变量声明语句有Dim,Public和Private。 例321,Dim strStudentName Dim strTeacherName,strWorkerName,ASP程序设计,20,3.2.3 变量,3变量的作用域,变量的作用域指变量的有效作用范围。 使用Dim声明的变量,其作用域分为过程内有效和整个程序中都有效。 在变量过程内部声明的变量称为过程级变量或局部变量,只能在声明它们的过程中使用。 过程外部声明的变量称为脚本级变量或全局变量,在同一个asp文件中的任何脚本命令均可访问和修改该变量的值。,ASP程序设计,21,3.2.3 变量,ASP程序设计,22,3.2.4 常量,通过关键字Const定义符号常量。 例如:Const PI=3.1415926 定义日期和时间型常量时需要使用#字符将它们的值包围起来。 例如:Const taday=#05-09-2005# Const work_time=#08:30:00# 为了避免发生重复定义变量的错误,可以考虑在所声明的常量前面加上Con或Vb等特殊意义的字符作标记,或者将声明常量全部大写。,ASP程序设计,23,3.2.5 数组,数组有以下几个特点:,使用数组之前要先进行定义,然后才能使用。通常用Dim语句来定义数组。 数组下标的下界一律从0开始。 一个数组中可包含各种子类型的数据元素。 数组分两种类型,即静态数组和动态数组。,ASP程序设计,24,3.2.5 数组,1静态数组 分为一维、二维或多维数组。维数由数组名之后紧跟的括号中数字的个数决定,数组的大小由括号中的数值决定。静态数组在编译时开辟内存区,它的大小在运行时是不可以改变。,定义一个一维数组arrVar(3): Dim arrVar (3) 定义一个二维数组arrTwoDim(2,3): Dim arrTwoDim(2,3),ASP程序设计,25,3.2.5 数组,2动态数组 运行时大小可变的数组。程序没运行,不占内存,运行时才为其开辟内存区。 ReDim Preserve 变量(下标) ReDim arrVar(10),Dim arrVar() ReDim arrVar(4) ReDim arrVar(6) 为了改变数组大小而又不丢失数组中的数据,则要使用关键字Preserve。 ReDim Preserve arrVar(8),ASP程序设计,26,VBScript 常用函数数字运算函数,1、取绝对值: 格式:Abs() Abs(-5)=5 2、取整 格式: Int () Int(5.6)=5 3、四舍五入 格式:CInt () CInt(5.6)=6,ASP程序设计,27,4、开平方 格式:Sqr () Sqr(16) = 4 例3-1,ASP程序设计,28,字符串函数,1、字符串长度检测 格式:Len() Len(”计算机”) 结果为:3 2、截取字符串 左/右截取: Left/Right (,) 中间截取 Mid (,截到第几位止) Left/Right/Mid(“VBScript函数有哪些”,5) -VBScr/函数有哪些/ript函数有哪些,ASP程序设计,29,3、大小写转换 小写转大写:Ucase() 大写转小写:Lcase() 如: Ucase(AbcdEF) -ABCDEF Lcase(AbcdEF) -abcdef,ASP程序设计,30,4、去除字符串中的空格 左边空格:Ltrim () 右边空格:Rtrim () 两端空格:Trim () 如:Ltrim(“ 先生 ”) - “先生 ” Rtrim(“ 先生 ”) - “ 先生” Trim(“ 先生 ”) - “先生”,ASP程序设计,31,日期函数,1、取系统当前的日期:Date 2、取系统当前的时间:Time 3、取系统当前的日期及时间:Now 如:document.write(Date) document.write(Time) document.write(Now) 例32,ASP程序设计,32,3.2.6 基本输入输出,提供两种非常方便的输入输出方法,即用来输出消息的消息对话框(Message Box)和用来要求用户输入数据的数据输入对话框(Input Box)。,ASP程序设计,33,1、产生输入框:接收用户输入信息的输入框 Inputbox(“提示信息”) Inputbox(“请输入你的姓名:”) Prompt(“提示信息”) Prompt (“请输入你的姓名:”) 2、Alert(“提示信息”) Alert(“恭喜你通过!”) 例:E3_msgbox.htm,ASP程序设计,34,3、产生选择框 confirm(“提示信息”) Confirm(“是否真的这么选?”) MsgBox(“提示信息,数值”) MsgBox(“是否真的这么选?”,3),ASP程序设计,35,3.2.6 基本输入输出,1消息对话框 MsgBox(prompt,buttons,title ,helpfile,context),Prompt:字符串显示在对话框中的消息,必需。 Buttons:数值显示按钮的数目及形式,可选。 Title:字符串显示在标题栏中的提示信息,可选。 Helpfile:字符串识别向对话框提供上下文相关帮助的帮助文件,可选。 Context:数值指定帮助主题内容的编号,可选。,ASP程序设计,36,3.2.6 基本输入输出,2输入对话框 InputBox(prompt,title ,default ,xpos,ypos,helpfile,context),prompt:要显示的消息。 title:显示在标题栏的字符串。 default:在没有其它输入时作为缺省值。 xpos和ypos:指定对话框在屏幕中出现的位置。,ASP程序设计,37,3.3 表达式和运算符,3.3.1 表达式和运算符概述 3.3.2 数学表达式及算术运算符 3.3.3 条件表达式及其运算符 3.3.4 字符串表达式及其运算符 3.3.5 运算符的优先级,ASP程序设计,38,3.3.1 表达式和运算符概述,数学表达式:用于常规的数值运算,运算结果仍然为数值; 条件表达式:常用于根据一系列条件做出判断,并采取相应的动作,运算结果为布尔值True或者False; 字符串表达式:用来将多个字符串连接成一个较长的字符串,运算结果仍为字符串。,ASP程序设计,39,3.3.1 表达式和运算符概述,运算符一般分为两种:单目运算符和双目运算符。 单目运算符:只有一个前置的运算符对操作数进行操作。一般格式如下: Operator Operand 双目运算符:在运算符的两端各有一个操作数。一般形式如下: Operand1 Operator Operand2,ASP程序设计,40,3.3.2 数学表达式及算术运算符,1数学表达式 varA=varB+varC intResult=A-B*C+D/E 2算术运算符 常用的加、减、乘、除等数学算术运算。,ASP程序设计,41,3.3.3 条件表达式及其运算符,1条件表达式,条件表达式可以通过两种布尔运算符来进行运算:关系运算符和逻辑运算符。,If a10 Then b=b+1 End If,ASP程序设计,42,3.3.3 条件表达式及其运算符,2关系运算符,ASP程序设计,43,3.3.3 条件表达式及其运算符,3逻辑运算符,ASP程序设计,44,3.3.4 字符串表达式及其运算符,1字符串表达式 把两个或者更多个字符串进行连接,形成一句完整的语句。 2连接运算符 连接运算符有两个:“+”和“”。 使用“”运算符时,要求被连接的两个操作数必须均为字符串。,ASP程序设计,45,3.3.5 运算符的优先级,通常的运算顺序是:,先进行算术运算, 接着进行关系运算, 最后进行逻辑运算。 如果表达式中含有括号,则它的优先级是最高的。,ASP程序设计,46,3.4 VBScript的控制结构,3.4.1 控制结构概述 3.4.2 选择结构 3.4.3 循环结构,ASP程序设计,47,基本语句,最常用的语句是赋值语句,将表达式的值赋给变量或属性。 其语法格式如下: name=exp 其中:name是变量或属性,exp是表达式。 如果要将对象引用赋给变量或属性,则不能使用赋值语句,而应使用Set语句,其语法格式如下: Set ovar=oexp 其中: ovar用于指定变量或属性的名称; oexp是由对象名称、,ASP程序设计,48,3.4.1 控制结构概述,两种类型的控制语句: 条件控制语句包括选择语句(IfThenElse)和多分支选择语句(SelectCase)。 循环控制语句包括For循环控制语句(ForNext)、Do循环控制语句(DoLoop)和While循环(WhileWend)语句。,ASP程序设计,49,3.4.2 选择结构,1简单条件控制语句,If 条件表达式 Then 语句 或 If 条件表达式 Then 语句体 End If If userName “” then document.write userName End If,ASP程序设计,50,3.4.2 选择结构,2IfThenElse语句,If 条件表达式 Then 语句体1 Else 语句体2 End If 例:if-else1 例3-3,ASP程序设计,51,3.4.2 选择结构,3嵌套条件控制语句,If 条件表达式1 Then 语句体1 Else If条件表达式2 Then 语句体2 Else 语句体n End If 例:3-4,ASP程序设计,52,3.4.2 选择结构,4多分支条件控制语句,Select Case 测试表达式 Case 表达式1 语句体1 Case 表达式2 语句体2 Case Else 语句体n End Select 例:例3-4case.htm,ASP程序设计,53,循环结构是一种可以根据条件实现程序循环执行的控制结构,一般有当型循环和直到型循环两种结构,其他循环结构可以看作这两种结构的变型。 (1) 当型(While)循环:当给定条件为True时,重复执行语句;否则循环语句停止执行,而执行下面的语句。 (2) 直到(Until)型循环:一直重复执行一组语句,直到给定的条件为True时停止,然后执行下面的语句。 (3) 变形体(For)循环:将一组语句按照指定的循环次数重复执行后,再执行下面的语句。,循环语句,ASP程序设计,54,循环语句,DoLoop,dim sum,i sum = 0 i = 1 do while i=100 sum = sum + 1 i = i + 1 loop,dim sum,i sum = 0 i = 1 do sum = sum + 1 i = i + 1 loop while i=100,ASP程序设计,55,dim sum, i sum = 0 i = 1 do until i100 sum = sum + i i = i + 1 Loop,dim sum, i sum = 0 i = 1 do sum = sum + i i = i + 1 Loop until i100,ASP程序设计,56,循环语句,ForNext,ASP程序设计,57,For EachNext,For Each.Next语句是对数组中的每个元素或对象集合中的每一项都执行一组相同的操作。如果不知道数组元素或对象集合中项目的具体数目时,For Each.Next尤其有用。其语句格式为:,ASP程序设计,58,3.5 VBScript的函数和子过程,3.5.1 过程概述 3.5.2 VBScript的函数 3.5.3 VBScript的子过程,ASP程序设计,59,3.5.1 过程概述,在Web页面任何位置都可以定义过程,客户端过程通常定义在和中。 可以向过程中传递任何有效的参数。,过程分为无返回值的Sub(子)过程和有返回值的Function函数。,ASP程序设计,60,3.5.2 VBScript的子过程,定义过程 Sub(形式参数列表) 语句块 Exit Sub 语句块 End Sub 调用过程: Call (实际参数列表) 例:3-5.htm,ASP程序设计,61,3.5.3 VBScript的函数,定义函数: Function (形式参数列表) 语句块 函数名=表达式 Exit Function 语句块 End Function 调用过程: Call (实际参数列表) 例:3-6.htm,“函数名=表达式” 用于为函数设置返回值 Exit Function退出函数体,ASP程序设计,62,变量的作用域,变量的作用域指变量的有效作用范围。 使用Dim声明的变量,其作用域分为过程内有效和整个程序中都有效。 在变量过程内部声明的变量称为过程级变量或局部变量,只能在声明它们的过程中使用。 过程外部声明的变量称为脚本级变量或全局变量,在同一个asp文件中的任何脚本命令均可访问和修改该变量的值。,ASP程序设计,63,变量的生命期,变量的生存期指变量的存活期 全局变量的生命周期从它被声明起一直到整个脚本运行结束才结束 局部变量的生命周期从过程或函数被执行的时刻开始到过程或函数执行结束,所以局部变量用于存储临时数据。 例:3-7.htm,ASP程序设计,64,3.7 VBScript的对象和事件,3.7.1 对象和事件的概念 3.7.2 网页及浏览器对象 3.7.3 浏览器内嵌HTML控件 3.7.4 对象和事件实例,ASP程序设计,65,3.7.1 对象和事件的概念,对象是在浏览器中或者脚本编写中用于综合地描述一组功能和事件的组合体。 事件是对网页中各种控件状态改变的一种描述。 使用对象的格式 对象名.属性|方法|事件 如:document.write,ASP程序设计,66,4.1.1 Window对象的属性,每个窗口都是Window对象的实例。可用下列名称表示:(例4.2) Window和Self:都代表当前窗口; Top:代表主窗口,是最顶层的窗口,是所有其他窗口的父窗口,其他窗口都是它的子窗口; Parent:代表当前窗口(框架)的父窗口; Opener:由Open打开的最新窗口; Window对象的属性如表所示。,ASP程序设计,67,4.1.2 Window对象的方法,Window对象提供了一些方法,可分为如下几类: 与用户交互的方法 Alert方法:来显示一个警告对话框,包含一条信息和一个“确定”按钮。 Confirm(参数)方法:用来显示一个确认对话框,包含一条指定的信息,还包含“确定”和“取消”按钮。 它的参数就是提示信息。如果单击“确定”按钮,返回True;如果单击“取消”按钮,则返回False。 Prompt(参数)方法:个提示对话框,提示用户输入数据。,ASP程序设计,68,与窗口有关的方法,Open 方法(例:3-9) 打开一个已存在的窗口,或者创建一个新的窗口。 NewWindow=Window.Open(URL, name, 窗口参数设置表) 其中NewWindow用于接受Open方法的返回值,是一个Window对象。 URL:指定要在窗口中显示的文档的URL。 name:指定要打开的窗口的名称。,ASP程序设计,69,4.1.2 Window对象的方法,窗口参数设置表格式:参数1=值,参数2=值, 窗口参数用于描述打开的窗口,参数可以多个,是可选的。 可设置的参数如下: toolbar:如果将该参数设置为yes/l,则在窗口中显示浏览器的工具栏;如果将该参数设置为no/0,则隐藏工具栏。 location:取值为yes/no或1/0,指定显示或隐藏浏览器的地址栏。 directories:取值为yes/no或1/0,指定显示或隐藏浏览器的目录表。 status:取值为yes/no或1/0,指定显示或隐藏浏览器的状态栏。 menubar:取值为yes/no或1/0,指定显示或隐藏浏览器的选单栏。 scrollbars:取值为yes/no或1/0,指定显示或隐藏浏览器的滚动条。 resizeable:取值为yes/no或1/0,指定浏览器窗口是否改变大小。 width:指定窗口的宽度 (以像素为单位)。height:指定窗口的高度(以像素为单位)。top:指定窗口的上角的坐标(以像素为单位)。left:指定窗口的左角的坐标(以像素为单位)。,ASP程序设计,70,Close方法:用来关闭一个打开的窗门。(例:4.1) Navigate方法:用来在当前窗口中显示指定网页。 (例:3.9) 语法格式: Navigate URL,ASP程序设计,71,4.1.2 Window对象的方法,3 . 与时间有关的方法(例:3.11) SetTimeout方法:用来设置一个计时器,在经过指定的时间间隔后调用一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年福建省龙岩市武平县事业单位招聘5人考前自测高频考点模拟试题及答案详解(典优)
- 2025年外科手术护理技巧实战模拟考试卷答案及解析
- 2025总账会计面试题目及答案
- 2025年心血管内科疾病诊断评估答案及解析
- 2025年康复工程学辅助康复器械应用知识检测答案及解析
- 2025年儿科临床诊断实践考核答案及解析
- 2025江苏南京工程大学科研助理招聘1人(邱玉琢教授科研团队)考前自测高频考点模拟试题附答案详解(典型题)
- 2025年神经科学中的帕金森病早期诊断模拟测试卷答案及解析
- 2025年神经科学基础知识测验模拟试卷答案及解析
- 2025河南南阳市中医院招聘研究生45人模拟试卷附答案详解(黄金题型)
- HGT 4686-2014 液氨泄漏的处理处置方法
- 《答谢中书书》教学设计
- (正式版)HGT 22820-2024 化工安全仪表系统工程设计规范
- 愚公移山说课稿讲解课件
- 《城市的起源与发展》课件
- 中职英语 基础模块2 Unit 8 Green Earth
- 4.CSR社会责任法律法规合规性评价表
- 小学生解决万以内退位减法错误类型及影响研究
- GB/T 14294-2008组合式空调机组
- 福建师范大学2023年815写作与翻译考研真题(回忆版)
- 【语法】形容词的最高级-完整版课件
评论
0/150
提交评论