第二章.常量、变量、循环和对象
1. 声明变量
Dim T1 ‘声明一般变量
Public T2 ‘声明公共变量
Private T3 ‘声明私有变量
Option Explicit 要求变量必须声明
变量命名必须遵循:
a.
必须以字母开头
b.
中间不能加空格与标点符号
c.
变量名最大长度不能超过255个字符
d.
在被声明的作用域内必须是唯一的
2.定义常量
Const A1=11
Const A2=”STRING”
Const TimeStr=#35-1-2005#
3.数组变量
1)静态
Dim A(9)
Dim A(3)(2)
2)动态数组
Dim Array1()
Redim Array2()
使用时须用Redim重定义数组大小
Redim Array1(20)
Redim Preserve Array2(2)(2)
3).关联数组-Dictionary对象
<%
Dim d '创建一个变量
Set d = CreateObject("Scripting.Dictionary")
d.Add "a", "Athens" '添加键和项目
d.Add "b", "Belgrade"
d.Add "c", "Cairo"
Response.Write(d("a"))
%>
4.过程与函数
1)过程
Sub show(n1,n2)
Jg=n1+n2
Msgbox “结果为”+jg
End sub
调用时
Call show(2,4)
注:如果省略Call关键字,则参数二边的括号也要省略。如上例为:show 2,4
2)函数
Function callFun(n1,n2)
Callfun=n1+n2
End Function
调用时
Ty=CallFun(2,3)
注:在某些情况下,函数表现出与过程相同的性质。如上注。即:可用与省略关键字Call。请看下例:
my1 2,3
Call my1(2,3)
‘Response.Write(my1(2,3)) ‘注:语法错误
my2 3,4
Call my2(3,4)
Response.Write(my2(3,4))
Sub my1(a,b)
Response.Write("<br>")
Response.Write(CStr(a*b)+"+10")
Response.Write("<br>")
End Sub
Function my2(a,b)
Response.Write("<br>")
Response.Write(CStr(a*b)+"+20")
Response.Write("<br>")
End Function
5.条件语句
1)if..then
If 条件 then
语句1
Elseif 条件2 then
语句2
Else
语句3
End if
2)select Case语句
Select Case 变量
Case 值1
语句1
Case 值2
语句2
…
Case Else
语句n
End Select
3).Do..Loop
Do While 条件
语句
Loop
或者
Do
语句
Loop While 条件
4).Do Until…Loop
Do Until 条件
语句
Loop
或者
Do
语句
Loop Until 条件
强制退出循环:Exit do
5).while…wend
While 条件
语句
Wend
6).for next语句
For 变量=初值 to 终止值 step 步长值
语句
Next
步长值:只能为正、负整数
7).for each … next语句
For Each 变更 in 集合
语句
Next
6.函数
1).字符串函数
①.instr函数
返回某个字符串在指定字符串中最先出现的位置.
语法:instr([start,]string1,string2[,compare])
Start:可选,数值表达式,指定每次搜索开始的位置,默认从第1个字符开始
String1: 必须,要从中搜索的字符串
String2:必须,要搜索的字符串
Compare:可选,搜索类型。
0:二过制比较
1:文本比较
2:基于包含在数据库中的信息的比较
条件及返回值
条件
|
返回值
|
String1长度为0
|
0
|
String1为Null
|
Null
|
String2长度为0
|
Start
|
String2为Null
|
Null
|
在String1中没有找到string2
|
0
|
在string1中找到string2
|
返回第1次出现的位置
|
Start>Len(string2)
|
0
|
②.left函数
返回一个字符串从左算起特定数量的字符
语法:left(string,length)
a.
如果length为0,则返回零长度“”
b.
如果length大于等于string的字符数,则返回整个string字符串
③.len函数
返回字符串内字符的数目或是存储一变量所需的字节数
语法:Len(str|varname)
a.如果字符串str为NULL,返回值也为Null
b.len也可以返回任意变量varname在内在中所需要占用的字节数
④.mid函数
从字符串中返回指定数目的字符
语法:mid(string,start[,length])
a.如果start超过string中字符的数目,则返回空字符“”
b.length如果省略或者string中从Start开始剩余字符的数目,将返回从start到字符串string结束的所有字符
⑤.Split函数
返回基于0的一维数组
语法:split(expression[,delimiter[,count[,compare]]])
a.如果要处理的字符串expression长度为0,则返回一个空的数组。
b.分隔符delimiter可选,如果省略,默认为空格。
c.如果delimiter为0长度字符串,则返回包含整个expression字符串的单元素数组
d.可选参数count告示返回子字符串的数目,-1表示返回所有子字符串
e.参数compare用来设置比较类型,用法同instr的compare参数
2).对话框函数
①.MsgBox函数
显示信息,等待用户的选择。
语法:MsgBox (prompt[,buttons][,title][,helpfile,context]) ‘如:MsgBox name,1+48+256+4096,"警告!"
a.
必须项prompt为消息的字符串。最大长度约1024个字符
b.
可选参数buttons为数值表达式,表示指定显示按钮的数目和类型、使用的图标样式。默认为0,即可显示“确定”
值
|
对应常数
|
对应按钮
|
0
|
vbOKOnly
|
确定
|
1
|
vbOKCancel
|
确定+取消
|
2
|
vbAbortRetryIgnore
|
终止+重试+忽略
|
3
|
vbYesNoCancel
|
是+否+取消
|
4
|
vbYesNo
|
是+否
|
5
|
vbRetryCancel
|
重试+取消
|
16
|
vbCritical
|
显示“×”图标
|
32
|
vbQuestion
|
显示“?”图标
|
48
|
vbExclamation
|
显示“!”图标
|
64
|
vbInformation
|
显示“i”图标
|
0
|
vbDefaultButton1
|
第一个按钮是缺省值
|
256
|
vbDefaultButton2
|
第二个按钮是缺省值
|
512
|
vbDefaultButton3
|
第三个按钮是缺省值
|
768
|
vbDefaultButton4
|
第四个按钮是缺省值
|
0
|
vbApplicationModal
|
应用程序一直被挂起,直到用户对消息框做出响应时才继续工作
|
4096
|
vbSystemModal
|
全部都被挂起,直到用户对消息框做出响应时才继续工作
|
c.
可选参数title用来显示在对话框标题栏中的字符串表达式,省略,将显示应用程序的名称
d.
参数helpfile与参数context必须同时存在,前者用于标识为对话框提供上下文相关帮助的帮助文件,后者为数值表达式,用于标识由帮助文件的作者指定给某个帮助主题的上下文编号。如果同时指定,可按下F1查看帮助。
MsgBox返回值
返回值
|
对应常数
|
对应按钮
|
1
|
VbOk
|
确定
|
2
|
VbCancel
|
取消
|
3
|
VbAbort
|
放弃
|
4
|
VbRetry
|
重试
|
5
|
VbIgnore
|
忽略
|
6
|
VbYes
|
是
|
7
|
VbNo
|
否
|
②InputBox函数
等待用户输入文本并返回值
语法:InputBox(prompt[,title][,default][,xpos][,ypos][,helpfile,context])
‘如name=InputBox("what is your name?","Hello",0,100,100)
a.Prompt、title,helpfile、context参数同msgbox
b.可选参数default为输入文本框默认的字符串值。
c.xpos和ypos表示对话框弹出的位置
③Alert函数
弹出警告框
语法:alert String
④Confirm函数
弹出询问对话框(只包含“确定”和“取消”)
语法:Confirm String
⑤Prompt函数
返回用户输入的字符串
语法:prompt String[,string2]
a.
String为要显示的字符串
b.
String2为输入框的默认值
7.对象
1)window对象
Window对象的属性、方法和事件
属性
|
方法
|
事件
|
Name
|
Alert
|
OnLoad
|
Parent
|
Confirm
|
onUnload
|
Sef
|
Prompt
|
|
Top
|
Open
|
|
Location
|
Close
|
|
defaultStatus
|
SetTimeout
|
|
Status
|
ClearTimeout
|
|
Document
|
Navigator
|
|
Frames
|
|
|
Navigator
|
|
|
History
|
|
|
2)Frame对象
每一个Frame对象的属性和方法与Window对象的属性和方法是完全相同的
引用如:main.frames(0).frames(1)表示main窗口中的第1个框架所包含的第2个子框架。
3)Location对象—----位置对象
每个window对象都包含一个location对象用来保存当前的URL位置,因此可以改变location来改变当前的网页
a.
Href:代表存储的整个URL信息。
b.
Host:定义网络主机名、域名或IP地址
c.
Port:定义是服务器的端口号
d.
Hostname:是主机和端口的组合
e.
Pathname代表路径
f.
Protocol:是网页地址的部分信息,表示使用的网络协议
g.
Hash与search:hash属性对应哈希数,即锚点名;而search属性包含任何属于URL的查询信息,查询数据前加一个问号。
如:http://www.website.com:3000/joke/first.HTML#new
其中Href为整个URL,即 http://www.website.com:3000/joke/first.HTML#new,host为www.website.com,port为端口3000,hostname为www.website.com:3000,pathname为/joke/first.HTML,protocol为http协议,#new为hash.
在程序中如果改变当前页面的地址,只要改变href就行了,如
Location.href=”www.newsite.com”
4).history对象
存储客户机浏览器在一定时间内访问过的URL,它可以看做是一个访问过的URL列表。
属性和方法:
a.
length属性:保存的URL列表的长度,只读。
b.
back()方法:没有参数,回到历史清单中当前的URL的上一个URL
c.
forward()方法:返回历史清单中当前URL的下一个URL
d.
go()方法:参数为负整数n,则将当前的URL在历史列表中向前移动-n位;为正数m,则后移动m位。如果参数是字符串,装载历史清单中含有这个字符串的最近的URL。
5).navigator对象
判断当前窗口的浏览器的信息。
a.
appName属性:用字符串来返回浏览器名称。
b.
appVersion属性:用字符串表示用户所使用的浏览器的版本号。
c.
javaEnabled()方法:返回一个布尔值,表示在该浏览器中是否能够使用Java语言。
6).Script对象
Script对象实际上就是脚本语言中的一个过程或是函数。所以要调用某一个窗口的某一个过程或函数时,可以通过调用该窗口的script属性来调用该对象。
例如在命名为win的窗口中定义了过程sub calculate(),在文档中的其他处要调用该过程,可以通过下面的形式:
Win.calculate()
7).document对象
属性
|
属性解释
|
方法
|
Alinkcolor
|
激活的链接的颜色
|
Write
|
Anchors
|
书签
|
Writeln
|
Bgcolor
|
背景色
|
Close
|
Cookie
|
在客户机存放的反映客户信息的数据
|
Clear
|
Fgcolor
|
前景色
|
Open
|
Forms
|
文档中的表单
|
|
lastModified
|
文档的最后修改时期
|
|
LinkColor
|
链接的颜色
|
|
Links
|
本页面中的链接,数组形式
|
|
Location
|
本文档的URL
|
|
Referrer
|
返回前一个URL
|
|
Title
|
本文档的标题
|
|
Vlinkcolor
|
访问过的链接颜色
|
|
回车:chr(13)
换行:chr(10)
双引号:chr(&h22)或者chr(34)
常数 值 描述
vbCr Chr(13) 回车符
vbCrLf Chr(13) & Chr(10) 回车符与换行符
vbFormFeed Chr(12) 换页符;在 Microsoft Windows 中不适用
vbLf Chr(10) 换行符
vbNewLine Chr(13) & Chr(10) 或 Chr(10) 平台指定的新行字符;适用于任何平台
vbNullChar Chr(0) 值为 0 的字符
vbNullString 值为 0 的字符串与零长度字符串 ("") 不同;用于调用外部过程
vbTab Chr(9) 水平附签
vbVerticalTab Chr(11) 垂直附签;在 Microsoft Windows 中不适用