我有一个关于VBScript中变量作用域的问题。我知道有以下关键字(从autoitscript.com):(!在这种情况下,重复使用全局变量)VBScript函数中的变量作用域
- 昏暗=本地范围如果变量名称不已经在全球范围存在
- 全球=部队创造的在全球范围内的变量
- 本地=强制创建的本地/功能范围
变量的想象一下,我有以下.vbs文件:
Dim strPath
strPath = "C:\folder"
DisplayPath strPath
Sub DisplayPath(strPath) 'Does this strPath get it's own local scope?
MsgBox strPath
End Sub
在功能:DisplayPath(strPath)
,是strPath
一个当地变量?或者功能/潜艇是否可以访问在脚本主要部分顶部定义的strPath
作为全球变量?
另外,明确使用Dim
而不仅仅是定义变量,因为我使用它们,这在脚本语言中是可能的吗?
非常有帮助,+1,谢谢。我很高兴你澄清了通过引用和传递价值(以及创建新存储)之间的区别。但是,我还想知道的是,如果'strPath'是全局的,并且可以被脚本中的所有函数/子项访问,即使我不将它们作为本地函数变量传递。 – JohnB 2010-10-02 17:12:54
@JohnB:看到我编辑的答案。 – AnthonyWJones 2010-10-02 17:34:57
我明白你的意见,谢谢! – JohnB 2010-10-02 18:19:44