一、申明变量
① 显式声明:Dim、Public、Private语句进行声明
② 隐式声明:不声明直接使用
③ 强制声明:Option Explicit语句强制显式声明所有变量
dim name,age
name="Ethon"
age=27
msgbox name age
'name="Ethon" : age=27 对多个变量赋值
注意:在VBScript中对变量、方法、函数和对象的引用是不区分大小写
'隐式申明
hello="ABC123"
msgbox hello
二、变量作用域
在VBScript中有三种变量作用域:
① 脚本级作用域
变量在整个脚本文件中都是有效的。声明的变量的作用域就是整个脚本。
② 过程级作用域
变量在过程或函数中有效。过程、函数之外的其它代码都不能访问过程级变量。
③类级作用域
这是一种包含属性和方法的逻辑分组的特殊结构。类定义之外的代码都不能访问类级变量。
有三种语句可以用于声明变量:Dim
、Private
、Public
在不同的情况使用不同的语句声明变量,具体取决于变量的作用域:
① Dim:用于声明脚本、过程、类级作用域的变量
1)所有被声明为脚本级的变量在整个脚本文件中有效,无论使用的是Dim、Private还是Public;
2)用于过程变量,必须使用Dim;
3)用于类级的变量,Dim的效果跟Public是完全相同的;
② Private:用于声明脚本、类级作用域使用Private语句
1)如果用于脚本级变量,它的作用跟Dim和Public是完全相同的;
2)为了声明一个私有的类级变量,必须要用Private;
③ Public:用于声明脚本、类级作用域
1)声明脚本级作用域的变量,在效果上它跟Dim或Private是一样的;
2)声明的类级变量就是这个类的公共属性。所有在类级用Dim或Public声明的变量在整个类中都是一个有效的公共属性。
如何正确声明变量
1)在过程中用Dim声明的变量对于那个过程是局部变量
在脚本级用Dim声明变量,Dim是声明变量的全功能关键字。
在不以类为基础的脚本或是不作为Windows脚本构件的脚本中,Private和Public的效果跟Dim没有区别。
2)如果您愿意,可以在脚本中用Private(代替Dim)声明整个脚本中都有效的变量。
在类中声明只属于类的变量时,Private的使用就变得更重要了。
Public只用于声明类的公共属性,也可以考虑用Private变量配合Property Let、Set和Get过程。尽管在类中Dim与Public的效果完全相同,但还是偏向于不在类中使用Dim。