Vbs的基本语法
VBscrīpt基础知识
一、变量
1、所有单引号后面的内容都被解释为注释。
2、在VBscrīpt中,变量的命名规则遵循标准的命名规则,需要注意的是:在VBscrīpt中对变量、方法、函数和对象的引用是不区分大小写的。在申明变量时,要显式地申明一个变量,需要使用关键字DIm来告诉VBscrīpt你要创建一个变量,并将变量名称跟在其后。申明多个同类型变量,可以用逗号分隔。注意:VBscrīpt中不允许在申明变量的时候同时给变量赋值。但是允许在一行代码内同时对两个变量进行赋值,中间用冒号分隔。
3、你可以使用OptionExplicit来告诉宿主变量必须先声明后使用。
4、VBscrīpt在定义时只有一种变量类型,在实际使用中需要使用类型转换函数来将变量转换成相应的变量类型。
Cbool函数将变量转换成布尔值;
Cbyte函数将变量转换为0到255之间的整数。
Ccur函数、Cdbl函数和Csng函数将变量转换为浮点数值,前者只精确到小数点后四位,后两者要更加精确,数值的范围也要大的多。
Cdate函数将变量转换为日期值。
Cint函数和Clng函数将变量转换为整数,后者的范围比前者要大的多。
Cstr函数将变量转换为字符串。
二、数组
数组的定义与变量非常类似,只需要在变量后描述这个数组的个数和维数。需要注意的是:数组的下标总是从0开始,而以数组定义中数值减一结束。也就是说你以要定义一个有十个数据的数组,将这样书写代码:dImarray(9),同样,当你要访问第五个元素时,实际的代码是array(4)。当然,你可以通过不指定数组的个数和维数来申明动态数组。等到数组的个数和维数固定后,使用关键字redim来改变数组。注意,在改变数组的大小时,数组的数据会被破坏,使用关键字preserve来保护数据。例如:
RedIm空格preserve空格array括号个数逗号维数括号
三、操作符
在VBscrīpt运算符中,加减乘除都是我们常用的符号,乘方使用的是 ^ ,取模使用的Mod。
在比较操作符中,等于、小于、大于、小于等于、大于等于都与我们常用的符号是一致的,而不等于是小于和大于连用。
逻辑运算符为:和操作—>AND 非操作—>NOT 或操作—>OR;
你可以使用操作符 + 和操作符 & 来连接字符串,一般使用&操作符;
另外还有一个比较特殊的操作符Is用来比较对象,例如按钮对象,如果对象是同一类型,结果就是真,如果对象不是同一类型,结果就是假。
四、条件语句主要有if……then语句和selectcase语句两种形式
在if……then语句中,其基本形式为:
If 条件 then
处理条件的语句;
……
Endif
基本形式只能对单个条件进行验证,如果有两个条件,则需要在基本形式中添加单行语句else,如果还有更多的条件需要验证,则需要添加语句
Elseif 条件 then
处理条件语句
在selectcase语句中,其基本形式为:
Select case 变量
Case 条件值
处理条件语句
并对上两句进行重复
最后一句应为
case else
处理语句
当然不要忘记将条件结束语句End select放在最后一行
注意:在执行字符串比较时,需要特别注意大小写,一般情况下,我们在比较前,使用lcase函数将字符串转换成小写,使用ucase函数将字符串转换成大写大写。
五、循环控制语句
循环控制语句有for……next循环、for……each循环、do……while循环、do……until循环、while循环五种形式。
在使用循环控制语句前,首先要对循环条件进行判断,如果循环次数是有固定次数的,那么使用For……next循环,其结构为:
For 计数器变量=开始计数值 to 最后计数值
执行循环体
Next
如果是需要对数组或对象集合中的每一个元素进行判断,则需要使用for……each循环,其结构为:
For each 循环计数变量 in 要查看的对象或数组
执行处理语句
Next
注意:在上述两种循环中随时可以使用exit for来退出循环
如果你希望在条件满足时执行一段代码则使用do……while语句,结构为:
Do while 条件
执行循环体
Loop
如果你希望在条件不满足时执行代码,则使用do……until语句,结构为:
Do until 条件
执行循环体
Loop
当然,在这两种循环语句中,你可以使用exit do来退出循环
最后一种循环语句是条件满足时一直执行循环,
While 条件
执行循环体
Wend
六、使用过程
常用的过程有两种,一种为函数,给调用者返回值,一种为子程序,无返回值,还有一种叫事件的特殊子程序,用的比较少。
函数的基本定义方法为:
Function 函数名称(参数列表)
函数代码
函数名称=某值 ‘用来返回值
end function
子程序一些都类似,不过没有返回值
注意:尽管在定义子程序的时候,参数列表要加括号,但在调用子程序的时候,参数列表不加括号,括号只在函数中使用。另外,子程序不能在表达式中使用。
而函数只能出现在赋值语句的右边,或者表达式中,函数不能直接使用,如果必须直接使用函数,则必须使用call语句调用,并取消返回值。