打印本文 打印本文 关闭窗口 关闭窗口
VBScript入门
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2727  更新时间:2009/4/23 18:57:41  文章录入:mintao  责任编辑:mintao
”),道理很明显,2号是在3号的前面。

V.以上介绍了一些转换函数,也提到了VBScript中的数据类型,其中最重要的当属字符串型了。HTML的大部分任务是显示指定内容的字符串,由于VBScript的加入,更使得字符串处理功能加倍“强壮”。通过VBScript函数,我们可以对字符串进行载取、相加等操作。

LeftRight是对字符串进行左截或右截。请看示例:

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 ,而它的元素是从010 11个。下面我们来给这11个元素分别赋一个值:

For I=0 to 10

a(I)=I

Next

11个元素的值分别是0110。如果想要定义其它类型的数组,按照上面的格式做稍微的修改就可以了。

    2.上面介绍的是VBScript的变量,我们必须结合其它内容才能充分学好它。下面我们来说一下VBScript中又一个要点:分支与循环。

    I.分支指的是If … Then… Else…End if结构的条件判断语句。

    如下面的程序:

    a =inputbox("你今年多大了")

    if Cint(a)<20 then

    msgbox "你是一个小同志"

    else

    msgbox "你不是一个小同志"

    end if

上例中用到了一个函数InputBox(),它的作用是接收从键盘上输入的字符串,比如上例我如果输入20,则a="20"。此例的思路是由用户输入一个年龄值,然后判断它的大小。如果它小于20,则输出"你是一个小同志",否则输出"你不是一个小同志"

此例如果简化成下面的形式:

    a =inputbox("你今年多大了")

    if Cint(a)<20 then

    msgbox "你是一个小同志"

 

end if

则只对输入值小于20的时候有响应,而对“否则”的内容不做回答,要是你输入的年龄值是40,你会发现程序根本就不理你。还可以进一步简化成

    a =inputbox("你今年多大了")

    if Cint(a)<20 then msgbox "你是一个小同志"

 

而将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 的作用。

IIFor … Next循环:

VBScript的循环主要有For … Next循环和Do While … Loop循环两种,我们先来讲一下For … Next循环。请看下例:

    dim i,sum

    for i=1 to 100

    sum=sum+i

    next

    msgbox sum

    此例是计算从1100100个数的和,结果是5050,我们从小就在珠算上玩这个游戏。如果要计算从11000的和,很简单,只要把上例中的100改为1000就行了。请再看一个例子:

    dim i,sum

    for i=1 to 100 step 2

    sum=sum+i

    next

    msgbox sum

 

这个例子是用来计算从1100之间的奇数的和。如果要计算从1100间偶数的和,只要把循环条件改成for i=2 to 100 step 2就可以了。

Step为步长之意,即规定循环变量每变化一次时的增量值,如果不写,则默认为1。我们甚至可以把Step的值定为负值,如下例,依然可以实现1100间偶数的求和工作:

    dim i,sum

    for i=100 to 1 step -2

    sum=sum+i

    next

    msgbox sum

 

IIIDo While … Loop循环:

For循环是规定了循环的次数进行循环,而Do While … Loop循环则是当条件满足时进行循环,否则便跳出循环,不象For循环那样严格地限定循环次数。

还以计算1100100个数的和为例,改用Do While … Loop循环表示为:

Dim I,sum

I=0

Do while I<100

I=I+1

    Sum=sum+I

 

Loop

此例的结果是正确的。但是如果我们把上述循环中的两行的位置变换一下,成为:

Do while I<100

Sum=sum+I

    I=I+1

Loop

得出的结果将是4950而不是5050。问题出在哪了呢?就在循环的判断条件上。循环刚一开始的时候,I=0,sum=sum+I=0,当I=99时,sum=sum+99,然后I=I+1=100,已经不再满足循环的条件,因此就退出了循环。也就是说,同样循环了100次,但是执行的是从099的累加,而不是从1100的累加。

上一页  [1] [2] [3]  下一页

打印本文 打印本文 关闭窗口 关闭窗口