在vbs脚本中也存在和其余编程语言同样的概念,那就是变量的做用域,变量的做用域决html
定在什么范围内能够访问。编程
一样的在vbs脚本中对于变量也有一个生命周期, 变量的生命周期决定了变量的存续时间编程语言
这个主要是对于类的实例化对象有意义。函数
vbs的函数和过程对参数变量进行读写的时候,在利用byVal和byRef的行为是不一样的。spa
具体很少说,看代码。指针
1、代码code
' vbs变量的做用域和生命周期 ' 做用域 '一、vbs的变量有三种做用域: 脚本级做用域、过程级做用域、类级做用域 '二、vbs变量的做用域与三个关键字有关: Dim、Private、Public '三、通常Private、Public用在类中, dim用在脚本级和过程级中 '四、关于Private和Public在后面类中进行描述 Option Explicit '定义脚本级变量 '脚本级变量在整个脚本均可用 Dim strUserName strUserName = "volcanol" '调用方法访问脚本级变量, DisplayGlobalVarible DisplayUserName Sub DisplayUserName() '定义过程级变量,且这个变量与外面的变量同名, '所以这个变量就将 Dim strUserName strUserName = InputBox("输入名字") MsgBox strUserName End Sub Sub DisplayGlobalVarible() '访问全局变量 MsgBox strUserName End Sub '变量的生命周期 '一、脚本级的变量的生命周期是脚本运行的整个期间 '二、过程或者函数级变量的生命周期是函数、过程调用的整个期间 '三、类级的变量生命周期是类的对象存续的期间 '具体这个就不说了, 慢慢体会吧 '函数、过程调用的传值byval和传址byref ' '一、byval 就和C语言中的普通参数同样,对原参数不会进行修改 '二、byref 就和C语言中的指针参数同样,能够对原参数进行修改, ' 固然,若是byref不进行赋值操做的话,也不会进行修改 Dim lngByVal Dim lngByRef lngByVal = 10 lngByRef = 20 '调用传值参数,不改变原来的参数 subByVal lngByVal '调用传址参数,改变原来的值 subByref lngByRef MsgBox lngByVal & vbNewLine & lngByRef '说明一点, 对于传址调用的检查不能保证100%的有效果 '这里,按照正经常使用法,应该传递变量 subByRef 10 '传值参数 Sub subByVal(byval lngPar) lngpar = lngpar + 100 End Sub '传址参数 Sub subByRef(byref lngPar) lngpar = lngpar + 200 End Sub
2、Tipshtm
一、变量的做用域越大,引发的bug的可能性越大,所以最好不要轻易修改脚本级的变量。对象
二、传值、传址这个须要注意,通常状况下最好用传值blog
三、若是一个函数或者过程只须要返回一个值,那么就用函数返回至,而不要用过程使用
ByRef的方式来返回值。
--------------------------------------------------------------分割线---------------------------------------------------------------
一、文章均为我的原创,欢迎转载,转载请保留出处:https://www.cnblogs.com/volcanol/
二、获取工控PLC、变频器、HMI、计算机、Windows、Linux、嵌入式资料点击:获取资料
三、若是您以为文章对您有帮助可转至页面上半部分打赏,或移步:打赏
四、或者在页面右下角点推荐哟!!!
--------------------------------------------------------------分割线---------------------------------------------------------------