多次 Dim 变量是否有害?

afe*_*par 4 vbscript wsh

这似乎是一个非常基本的问题,但我仍然找不到答案。

在 VBScript 中,使用 Dim 语句多次声明相同的标量变量有什么害处吗?

我正在从事一些相关项目并开发一些我想重用的代码片段。但是,我有点担心使用两次使用相同变量名的代码是否存在问题,如下所示:

Dim i
for i = 1 to Count
    '* doin' somethin' here
next

Dim i
for i = 1 to UnrelatedOtherCount
    '* doin' somethin' different yo
next
Run Code Online (Sandbox Code Playgroud)

它不仅仅是迭代循环变量;我可能在脚本中有多个地方使用了正则表达式。如果我的脚本使用了两段重复使用的代码,并且每一段都使用一个“patternString”变量并首先声明变量:

'* first section of code from the folder
Dim objPersonRegex, patternString
Set objPersonRegex = new RegExp
...

'* a completely different section of code
Dim objBuildingRegex, patternString
Set objBuildingRegex = new RegExp
Run Code Online (Sandbox Code Playgroud)

我的直觉是,这不应该是一个问题,Dim 只是创建一个给定名称的变量(如果它尚不存在),如果存在,则继续,因为它被告知要做的事情已经完成了。但事实真的是这样吗?如果重要的话,这些是在 Windows Script Host 上运行的脚本。

(为了澄清我所担心的事情,我根本担心变量的值被破坏。如果我需要保留变量的值,我会将其保存在另一个变量中,一个带有独特的名字。)

我自己寻找答案的所有尝试都失败了;它们仅返回有关在一行上声明多个变量以及在数组上使用 ReDim 的信息。

Ekk*_*ner 5

多次 Dim 变量是否有害?

不可能多次调暗一个变量使用Option Explicit或(错误)使用 都不会On Error Resume Next在“编译器”之后的同一编译单元中为同一变量(名称)获得多个 Dim。