如何声明变量类型 vbscript?

Lim*_*ime -1 vbscript

以下在Option Explicit设置或未设置时抛出错误。

创建一个名为dim.vbs.

Dim a as String
Run Code Online (Sandbox Code Playgroud)

然后在命令提示符下运行。

cscript dim.vbs
Run Code Online (Sandbox Code Playgroud)

Microsoft VBScript 编译错误:预期的语句结束

有没有办法强制Option Explicit设置或不设置变量类型?

Dai*_*Dai 5

如何在 vbscript 中声明变量类型?

你不能。

  • VBScript 不支持静态类型变量的概念。
  • VBScript 是 Windows 的 ActiveScripting 环境的前端语言。
    • 此环境由cscript(对于命令行)和wscript(当您不希望出现 CMD 窗口时)托管。
    • 该环境也由 IIS 托管,用于 Classic ASP .asp/.asa和以前的 Internet Explorer(Internet Explorer 9 之前),它是其 JavaScript 引擎的基础。
      • “JScript”是 ActiveScripting 也支持的 JavaScript 品牌(或方言):VBScript 和 JScript 在它们的能力上有相似之处。
  • ActiveScripting 用于处理 COM 对象。

VBScript 的语法是 VBA 的一个子集,并且在很大程度上可以相互理解,因为 VBA 会将没有静态类型定义的变量隐式类型化为 COMVariant对象,这与 VBScript 变量使用的真正底层类型大致等效(我忘记了可能相同)。

(内部 VBScript类型化的:否则VBScript将无法使用 COM。您可以说在底层有一些类型化,因为您需要根据值的预期类型使用SetandLet关键字,或者您如何使用只能Const在具有某些文字值类型的 VBScript 中使用,等等)。

打个比方:您有乘用车的驾驶执照(您知道如何编写 VBA)并且您决定驾驶叉车 (VBScript) - 因为您知道如何驾驶乘用车并且因为控件/界面看起来同样(它有一个方向盘、一个手刹、一个驾驶员座椅、一个速度计),你作为乘用车司机的技能意味着你应该能够立即驾驶叉车,没有任何问题。您不能也不会:叉车的处理方式非常不同(例如,后轮转向、电动驱动,因此许多地区要求叉车司机获得专业执照)。

  • 不过这个比喻。恰到好处,让我度过了一个愉快的夜晚:-) 听起来就像《办公室》里的迈克尔。 (3认同)