考虑以下代码:
Option Explicit
Dim Count : Count = 4
'Case-I
Sub Display1()
MsgBox(Count)
End Sub
'Case-II
Sub Display2(Count)
MsgBox(Count)
End Sub
混乱
Count
method
或仅Display2
方法?count
方法无法访问变量Display1
,那么
有没有办法让它在任何子或函数中可用
没有将其传递给Sub
或Function
Count
sub中的Display2
变量
该值可用于其他function
或sub
VBScript具有global
变量声明。答案 0 :(得分:2)
变量count
在任何函数或子过程之外声明,因此其范围在这里是全局的。全局变量可以在任何函数或子过程中使用,其值可以在程序流中的任何位置进行更改。
现在,如果您调用此过程并运行.vbs文件,则在两种情况下都会显示消息框4
。
Option Explicit
Dim Count : Count = 4
'Case-I
Sub Display1()
MsgBox(Count)
End Sub
'Case-II
Sub Display2(Count)
MsgBox(Count)
End Sub
Call Display1()
Call Display2(Count)
如果在任何函数或子过程中更改count
变量的值,则其值将更改为其他过程,因为其范围是全局的。
选项明确
Dim Count : Count = 4
'Case-I
Sub Display1()
Count = 5 ''value changed here
MsgBox(Count)
End Sub
'Case-II
Sub Display2(Count)
MsgBox(Count)
End Sub
Call Display1()
Call Display2(Count)
在上述情况下,两个消息框都会显示5