VBScript中的变量声明放置准则

时间:2018-11-13 08:42:20

标签: variables vbscript declaration placement

在VBScript中是否有任何变量声明放置规则,例如是否应始终在开始时声明?还是可以在使用时声明变量?哪个效率更高?

1 个答案:

答案 0 :(得分:1)

让我们尝试一个简单的代码,其中包括Option Explicit,以便VBScript解析器要求声明代码中使用的所有变量

Option Explicit

    WScript.Echo TypeName( data )
    WScript.Echo TypeName( MY_DATA )

Dim data : data = 10
Const MY_DATA = 10

    WScript.Echo TypeName( data )
    WScript.Echo TypeName( MY_DATA )

执行时会输出

Empty
Integer
Integer
Integer

那是

  • data的首次访问不会产生任何错误。悬挂了变量声明(Dim语句)。如果在使用该变量的相同(或外部)范围内声明了该变量,则不会有任何问题。

  • 但是第一个输出是Empty

  • 仅提升声明,不提升直到包含声明的行才执行的值分配。

  • 这不适用于常量声明。在使用它的代码中替换了它的值,但是实际声明延迟到到达const行(读取here)为止。

只要可以到达变量/常量(在相同或外部范围内声明),就不必在放置声明的位置(与VBScript解析器/引擎无关)。

但是,您或其他人当然必须维护代码。能够将变量放置在任何地方并不意味着您应该做类似之前的代码(请不要这样做)。如果在初始化/使用之前进行了变量声明,则读取/维护代码要容易得多。确切的实现方式仅取决于编码样式。