目录

  1. 变量概述
  2. 声明变量
  3. 变量类型
  4. 变量赋值与使用
  5. 常用数据类型转换
  6. 常见的变量操作
  7. 作用域与生命周期
  8. 参考资料

1. 变量概述

在 VBScript 中,变量用于存储信息,可以存储不同类型的数据。VBScript 是动态类型语言,意味着你不需要指定变量的数据类型,VBScript 会根据赋值的内容自动确定变量类型。VBScript 中所有变量都是 Variant 类型,它可以存储数字、字符串、布尔值等数据类型。


2. 声明变量

2.1 声明变量

VBScript 中使用 Dim 关键字声明变量,Dim 是 “Dimension”(维度)的缩写。可以声明多个变量,也可以单独声明每个变量。

Dim x, y, message  ' 声明多个变量
Dim result  ' 声明单个变量

2.2 默认变量类型

  • Variant:VBScript 中默认的数据类型,表示可以存储任何类型的数据。

2.3 变量赋值

Dim message
message = "Hello, World!"  ' 给变量赋值


3. 变量类型

虽然 VBScript 的所有变量都是 Variant 类型,但它可以存储不同的数据类型,常见的数据类型包括:

3.1 数字类型

  • 整数:VBScript 会自动判断数字的类型,默认为 Double 类型(双精度浮点数)。
Dim num
num = 100   ' 自动识别为 Double 类型

  • 浮点数:数字也可以是小数类型。
Dim num
num = 3.14  ' 默认类型为 Double

3.2 字符串类型

字符串用于存储文本数据。

Dim str
str = "Hello, VBScript!"  ' 字符串类型

3.3 布尔类型

布尔值只能是 True 或 False

Dim isValid
isValid = True

3.4 日期类型

VBScript 中有内置的 Date 类型,可以存储日期和时间。

Dim currentDate
currentDate = Now   ' 获取当前日期和时间


4. 变量赋值与使用

4.1 赋值

在 VBScript 中,使用 = 赋值给变量:

Dim num
num = 5  ' 赋值操作

4.2 读取变量

可以直接引用变量进行计算或在输出中显示:

Dim x, y
x = 10
y = 20
MsgBox x + y  ' 输出 30

4.3 多重赋值

VBScript 支持一次性给多个变量赋值:

Dim a, b, c
a = b = c = 10  ' 给 a, b, c 赋相同的值


5. 常用数据类型转换

由于 VBScript 的变量是 Variant 类型,因此需要在某些情况下进行显式类型转换。常用的数据类型转换函数包括:

5.1 CInt(转换为整数)

Dim num
num = "10"
num = CInt(num)  ' 转换为整数

5.2 CDbl(转换为双精度浮点数)

Dim num
num = "3.14"
num = CDbl(num)  ' 转换为浮点数

5.3 CStr(转换为字符串)

Dim num
num = 123
num = CStr(num)  ' 转换为字符串

5.4 CDate(转换为日期)

Dim dateStr
dateStr = "2025-03-31"
dateStr = CDate(dateStr)  ' 转换为日期类型

5.5 CBool(转换为布尔值)

Dim flag
flag = CBool(1)  ' 转换为 True
flag = CBool(0)  ' 转换为 False


6. 常见的变量操作

6.1 字符串连接

VBScript 使用 & 运算符连接字符串:

Dim firstName, lastName
firstName = "John"
lastName = "Doe"
MsgBox firstName & " " & lastName  ' 输出 "John Doe"

6.2 计算表达式

Dim a, b, sum
a = 10
b = 20
sum = a + b  ' 计算结果并赋值给 sum
MsgBox sum  ' 输出 30

6.3 获取字符串长度

使用 Len 函数获取字符串的长度:

Dim str
str = "VBScript"
MsgBox Len(str)  ' 输出 8


7. 作用域与生命周期

7.1 局部变量与全局变量

  • 局部变量:在 Sub 或 Function 内声明,只在该过程内有效。
  • 全局变量:在脚本的开头声明,整个脚本都可以访问。

7.2 作用域示例

Dim globalVar
globalVar = "Global"

Sub TestScope()
    Dim localVar
    localVar = "Local"
    MsgBox globalVar  ' 可以访问全局变量
    MsgBox localVar   ' 可以访问局部变量
End Sub

TestScope()
MsgBox globalVar  ' 仍然可以访问全局变量
' MsgBox localVar  ' 错误:localVar 只在 TestScope 内有效


8. 参考资料

  1. Microsoft VBScript 官方文档
  2. VBScript 变量与数据类型
  3. VBScript 教程 – W3Schools