VBS基础篇 - 变量(3) - 变量的作用域

VBScript中有三种变量作用域:

脚本级作用域

变量在整个脚本文件中都是有效的。声明的变量的作用域就是整个脚本。

过程级作用域

变量在过程或函数中有效。过程、函数之外的其它代码都不能访问过程级变量。

类级作用域

这是一种包含属性和方法的逻辑分组的特殊结构。类定义之外的代码都不能访问类级变量。

有三种语句可以用于声明变量:DimPrivatePublic

在不同的情况使用不同的语句声明变量,具体取决于变量的作用域:

Dim:用于声明脚本、过程、类级作用域的变量

ü 所有被声明为脚本级的变量在整个脚本文件中有效,无论使用的是DimPrivate还是Public

ü 用于过程变量,必须使用Dim

ü 用于类级的变量,Dim的效果跟Public是完全相同的;

Private:用于声明脚本、类级作用域使用Private语句

ü 如果用于脚本级变量,它的作用跟DimPublic是完全相同的;

ü 为了声明一个私有的类级变量,必须要用Private

Public:用于声明脚本、类级作用域

ü 声明脚本级作用域的变量,在效果上它跟DimPrivate是一样的;

ü 声明的类级变量就是这个类的公共属性。所有在类级用DimPublic声明的变量在整个类中都是一个有效的公共属性。

如何正确声明变量

ü 在过程中用Dim声明的变量对于那个过程是局部变量

     在脚本级用Dim声明变量,Dim是声明变量的全功能关键字。

     在不以类为基础的脚本或是不作为Windows脚本构件的脚本中,PrivatePublic的效果跟Dim没有区别。

ü 如果您愿意,可以在脚本中用Private(代替Dim)声明整个脚本中都有效的变量。

     在类中声明只属于类的变量时,Private的使用就变得更重要了。

Public只用于声明类的公共属性,也可以考虑用Private变量配合Property LetSetGet过程。尽管在类中DimPublic的效果完全相同,但还是偏向于不在类中使用Dim

posted @ 2012-01-12 19:41  Sirrah  阅读(1588)  评论(0)    收藏  举报