”),道理很明显,2号是在3号的前面。
V.以上介绍了一些转换函数,也提到了VBScript中的数据类型,其中最重要的当属字符串型了。HTML的大部分任务是显示指定内容的字符串,由于VBScript的加入,更使得字符串处理功能加倍“强壮”。通过VBScript函数,我们可以对字符串进行载取、相加等操作。
Left、Right是对字符串进行左截或右截。请看示例:
A="123456789"
B=left(a,3)
Msgbox b
C=right(a,3)
Msgbox c
这样得出的结果是b="123",c="789"。
如果我们要载取一个字符串中间的几个字符,可以用Mid函数,如C=mid(a,4,3)得出的结果是c="456"。
求一个字符串的长度用的是Len函数,比如说Len("1234567")=7。
VI.数组:
VBScript也象其它编程语言一样,提供了数组操作。定义一个数组的格式如下:
Dim a(10)
即定义了一个数组,数组的名称是a ,而它的元素是从0到10 共11个。下面我们来给这11个元素分别赋一个值:
For I=0 to 10
a(I)=I
Next
11个元素的值分别是0,1,… ,10。如果想要定义其它类型的数组,按照上面的格式做稍微的修改就可以了。
2.上面介绍的是VBScript的变量,我们必须结合其它内容才能充分学好它。下面我们来说一下VBScript中又一个要点:分支与循环。
上例中用到了一个函数InputBox(),它的作用是接收从键盘上输入的字符串,比如上例我如果输入20,则a="20"。此例的思路是由用户输入一个年龄值,然后判断它的大小。如果它小于20,则输出"你是一个小同志",否则输出"你不是一个小同志"。
此例如果简化成下面的形式:
a =inputbox("你今年多大了")
if Cint(a)<20 then
msgbox "你是一个小同志"
end if
则只对输入值小于20的时候有响应,而对“否则”的内容不做回答,要是你输入的年龄值是40,你会发现程序根本就不理你。还可以进一步简化成
而将end if省略。但是由于这种写法不便于阅读,因此我希望大家能够按照要求写好每一步。
再对上例进行一下改造:
a =inputbox("你今年多大了")
if Cint(a)<10 then
msgbox "你是一个小孩子"
elseif cint(a)<20 then
msgbox "你是一个小同志"
elseif cint(a)<40 then
msgbox "你在青年"
elseif cint(a)<50 then
msgbox "你在中年"
else
msgbox "你已上了年纪"
end if
还有一类分支结构是Select … Case… End Select。举个例子来说明一下:我们要根据输入的数字来确定现在是几月份。
Dim a,mon
a =inputbox("现在是几月份?")
select case cint(a)
case 1
mon="一"
case 2
mon="二"
case 3
mon="三"
case 4
mon="四"
case 5
mon="五"
case 6
mon="六"
case 7
mon="七"
case 8
mon="八"
case 9
mon="九"
case 10
mon="十"
case 11
mon="十一"
case 12
mon="十二"
end select
msgbox "现在是" + mon +"月份"
这个例子如果也用If … Then 来完成,恐怕要多写不少的代码吧!Select结构还有一种用法,请看下例:
Dim a,quarter
a =inputbox("现在是几月份?")
select case cint(a)
case 1,2,3
quarter="一"
case 4,5,6
quarter="二"
case 7,8,9
quarter="三"
case 10,11,12
quarter="四"
end select
msgbox "现在是第" + quarter +"季度"
这个例子中,我们可以根据输入的月份来确定现在是处在第几个季度。
If分支和Select分支都是十分有用的,我们可以根据不同的需要来选用不同的方法,这样才能充分发挥VBScript 的作用。
II.For … Next循环:
VBScript的循环主要有For … Next循环和Do While … Loop循环两种,我们先来讲一下For … Next循环。请看下例:
dim i,sum
for i=1 to 100
sum=sum+i
next
msgbox sum
此例是计算从 1到100这100个数的和,结果是5050,我们从小就在珠算上玩这个游戏。如果要计算从1到1000的和,很简单,只要把上例中的100改为1000就行了。请再看一个例子:
dim i,sum
for i=1 to 100 step 2
sum=sum+i
next
msgbox sum
这个例子是用来计算从1到100之间的奇数的和。如果要计算从1到100间偶数的和,只要把循环条件改成for i=2 to 100 step 2就可以了。
Step为步长之意,即规定循环变量每变化一次时的增量值,如果不写,则默认为1。我们甚至可以把Step的值定为负值,如下例,依然可以实现1至100间偶数的求和工作:
dim i,sum
for i=100 to 1 step -2
sum=sum+i
next
msgbox sum
III.Do While … Loop循环:
For循环是规定了循环的次数进行循环,而Do While … Loop循环则是当条件满足时进行循环,否则便跳出循环,不象For循环那样严格地限定循环次数。
还以计算1到100这100个数的和为例,改用Do While … Loop循环表示为:
Dim I,sum
I=0
Do while I<100
I=I+1
Loop
此例的结果是正确的。但是如果我们把上述循环中的两行的位置变换一下,成为:
Do while I<100
Sum=sum+I
Loop
得出的结果将是4950而不是5050。问题出在哪了呢?就在循环的判断条件上。循环刚一开始的时候,I=0,sum=sum+I=0,当I=99时,sum=sum+99,然后I=I+1=100,已经不再满足循环的条件,因此就退出了循环。也就是说,同样循环了100次,但是执行的是从0到99的累加,而不是从1到100的累加。
上一页 [1] [2] [3] 下一页 没有相关教程
|