VBScript 变量声明及数据类型:Dim、String、Boolean

变量是编程的基础。变量用于保存值或表达式。每当您要处理一段数据时,您都必须声明一个变量。

例如,如果您必须存储学生姓名或员工工资,您将使用名为学生或工资的变量。

变量也可用于保存表达式。假设您使用变量 markE 和 markM 存储了学生的英语和数学成绩。

您想找到总分。然后,您可以使用一个名为 markT 的变量并将其值设置为 markE + markM。换句话说,markT = markE + markM。这里,markT 是一个包含表达式的变量。

声明变量

声明变量与创建变量相同,因为您指示计算机保留内存空间。您可以按自己想要的方式命名变量。它可以是简短的名称,如 x、y 或 z,也可以是更具自我描述性的名称,如学生、姓名、薪水等。为变量提供清晰且有意义的名称被认为是一种良好的编程习惯。

VBScript 变量名有一定的规则。

  1. 变量名必须以字母开头。例如:salary、mark 等。不允许使用以数字或特殊字符开头的变量。例如:1stSchool、3rdCar、_name 等。
  2. 变量名称不能超过 255 个字符。
  3. 变量名不应包含句点 (.)。

要声明变量,您需要使用关键字 Dim。假设您计划在以下代码中使用名为“salary”的变量: VBScript 程序, 句法

Dim salary;

仅声明 VBS 变量不会对您有所帮助,请使用它。您必须在某个时候为其分配一个值,这个过程称为初始化变量。如果您打算声明一个以变量名称命名的薪水,那么您可以像这样编码:

Dim salary
salary = 10000

您需要确保的重要一点是,在声明变量时不要为其分配值。 假设你写了如下语句:

Dim salary = 10000

如果您尝试使用 document.write 输出薪水,它将不会返回任何输出。

代码示例

步骤1) 打开文本编辑器并添加以下代码行。

<html>
<head>
<title>Variables</title>
</head>
<body>

<script type="text/vbscript">
Dim variable1
variable1="John"
document.write(variable1)
‘Dim variable2 = "Smith"
‘document.write(variable2)
</script>

</body>
</html>

步骤2) 将此文件保存为 variable.html 并保存到您喜欢的位置,然后在 IE 中打开它(按照上一章中指定的步骤操作)。现在,您将在浏览器中看到值 John。

步骤3) 接下来,取消注释第 11 行和第 12 行

再次保存文件并刷新 IE 浏览器(如果已打开)或在 IE 浏览器中打开文件。您可能会奇怪为什么什么都看不到;既看不到 John 也看不到 Smith。这里的问题是,您在声明变量时试图为其赋值,这是不允许的。

松散绑定

VBScript 为您提供了使用变量的自由,而无需声明它(称为松散绑定)。 例如, 无需使用语句 Dim student,你可以为变量 student 赋值,例如 – student = “John”

但这绝不是一个好的编程习惯。如果你使用一个变量而没有声明它,并且在再次使用时拼错了同一个变量,VBScript 不会提示你这个错误。

因此,为了使代码更易于阅读和识别错误,您应该在代码开头使用 Option Explicit 语句,这样即使您忘记声明所有变量,也必须声明。为了避免与变量类型相关的问题,最好在 VBScript 代码开头指定 Option Explicit 语句。

代码示例:

步骤1) 打开文本编辑器并添加以下代码行。

<html>
<body>
<script type="text/vbscript">
Option Explicit
‘Dim markE, markM, markT
markE=90
markM=86
markT=markE+markM
document.write("Your marks in English is " & markE & "." & "<br />")
document.write("Your marks in Mathematics is " & markM & "." & "<br />")
document.write("Your total marks is " & markT & ".")
</script>

</body>
</html>

步骤2) 将文件保存为variables.html并保存到您喜欢的位置。现在在Internet Explorer中打开该文件,您的屏幕是空白的。为什么?因为您在使用变量之前使用了显式选项,但没有声明变量

步骤3) 现在要理解 Option Explicit 语句的重要性,取消注释上述代码中的第 5 行

步骤4) 保存variables.html文件并刷新浏览器。现在,你的输出将如下所示:

松散绑定

备注 – 要连接两个字符串,您需要使用“&”。在上面的例子中,它在 document.write 命令中使用。很明显,总分的计算是错误的。现在只需在 VBScript 代码的开头添加第一个语句 Option Explicit(不带 Dim 语句)。

保存文件并查看输出。您将不会得到任何输出,这表明您的代码存在一些错误。这里的错误是,即使在指定 Option Explicit 语句后,您在使用变量之前也没有声明它。

您还可以使用 public 和 private 关键字声明变量,例如 public student 或 private student。但是,使用这两个关键字声明变量时必须更加小心,因为它会改变变量的范围。

您还可以在单​​个变量中存储多个值,这样的变量称为 VBScript 数组 变量。假设您想要存储 30 名学生的姓名、成绩、地址等详细信息。创建和管理 30 个用于存储姓名、成绩、地址等的变量集将非常困难。

相反,您可以声明一个名为 students 的变量,并将所有 30 名学生的姓名存储在此变量中。在这种情况下,您将变量声明为 Dim students(29)(数组索引从零开始),并将值分配为

students(0) = "John"
students(1) = "Hannah"
students(2) = "Kevin"
.......
.......
students(28) = "Rose"
students(29) = "Emma"

类似地,您可以创建诸如分数、地址等变量来存储所有 30 名学生的相应值。您还可以创建最多 60 个维度的多维数组。

代码示例:

打开文本编辑器并添加以下代码行。

<html>
<body>

<script type="text/vbscript">
Option Explicit
Dim students(19), marks(19)
students(0) = "John"
marks(0) = 95
students(1) = "Emma"
marks(1) = "83"
students(2) = "Kevin"
marks(2) = 87
 
document.write(students(0) & " has scored " & marks(0)  & ".<br />")
document.write(students(1) & " has scored " & marks(1)  & ".<br />")
document.write(students(2) & " has scored " & marks(2)  & ".<br />")
</script>

</body>
</html>

这里我们只存储了三名学生的详细信息。您可以添加最多 20 名学生的详细信息,因为我们已将数组的大小设置为 20(因为索引从 0 开始)。

VBScript 数据类型

在上一节中,您可能已经注意到我们为变量分配了不同类型的数据。我们在不同的变量中存储了数字(分数和薪水)、字符串(名称)等。

这些数字、字符串等被称为 数据类型。实际上,VBScript 只有一种数据类型,称为 Variant。Variant 是一种特殊的数据类型,可以保存不同类型的信息。

如果在数字上下文中使用 Variant,它的行为就像数字一样;如果在字符串上下文中使用它,它的行为就像字符串一样。

换句话说,当您指定 salary=10000 时,VBScript 会假定 salary 是数字数据类型。Variant 对数据的性质进行了具体区分。例如,您可以使用变体类型来存储布尔值、货币、日期等。

这些可以包含在 Variant 中的不同类别的信息称为子类型。虽然大多数情况下,Variant 的行为方式最适合其所包含的数据,但您应该了解不同的子类型。

以下是 VBScript 数据类型的列表。

  • 空:一种特殊的子类型,表示尚未分配任何值的变量。
  • Null:一种特殊子类型,表示分配了空值的变量。
  • 整数:使用2个字节来表示范围在-32,768至32,767之间的有符号整数。
  • 长整型:使用4个字节来表示有符号整数,范围从-2,147,483,648到2,147,483,647。
  • 单精度:使用 4 个字节来表示浮点格式的实数,负值的范围是 -3.402823e38 至 -1.401298e-45,正值的范围是 1.401298e-45 至 3.402823e38。
  • Double:使用 8 个字节来表示浮点格式的实数,负值的范围是 -1.79769313486232e308 至 -4.94065645841247e-324,正值的范围是 4.94065645841247e-324 至 1.79769313486232e308。
  • 货币:使用8个字节来表达十进制格式的实数,范围从-922,337,293,685,477.5808至922,337,293,685,477.5807。
  • 日期:使用8个字节表示从1年100月31日到9999年XNUMX月XNUMX日的日期。
  • 字符串:每个字符使用 1 个字节来表示一个字符序列,最多可有大约 2 亿个字符。
  • 对象:表示对对象的引用的特殊子类型。
  • 错误:表示错误号的特殊子类型。
  • 布尔值:使用 2 个字节来包含 True 或 False。
  • 字节:用1个字节来表示0~255范围内的整数。

有两个内置 VBScript 函数 帮助您了解变量的子类型:“varType()”和“typeName()”。

var 类型返回数值表示,typeName() 返回变量子类型的文本表示。每个子类型都有一个预定义的数值表示。

代码示例

打开文本编辑器并添加以下代码行。

<html>
<head>
<script type="text/vbscript">
Option Explicit
Dim a
a = Empty
document.write("a = " & a & "<br />")
document.write("The numeric representation of a is " & VarType(a)  & "<br />")
document.write("The variable a is of " & TypeName(a) & " data type."  & "<br /><br />")

Dim b
b = Null
document.write("b = " & b & "<br />")
document.write("The numeric representation of b is " & VarType(b)  & "<br />")
document.write("The variable b is of " & TypeName(b) & " data type."  & "<br /><br />")

Dim c
c = 4
document.write("c = " & c & "<br />")
document.write("The numeric representation of c is " & VarType(c)  & "<br />")
document.write("The variable c is of " & TypeName(c) & " data type."  & "<br /><br />")

Dim d
d = -2100483648
document.write("d = " & d & "<br />")
document.write("The numeric representation of d is " & VarType(d)  & "<br />")
document.write("The variable d is of " & TypeName(d) & " data type."  & "<br /><br />")

Dim e
e = -3.402823E38
document.write("e = " & e & "<br />")
document.write("The numeric representation of e is " & VarType(e)  & "<br />")
document.write("The variable e is of " & TypeName(e) & " data type."  & "<br /><br />")

Dim f
f = "John"
document.write("f = " & f & "<br />")
document.write("The numeric representation of f is " & VarType(f)  & "<br />")
document.write("The variable f is of " & TypeName(f) & " data type."  & "<br /><br />")

Dim g
g = True
document.write("g = " & g & "<br />")
document.write("The numeric representation of g is " & VarType(g)  & "<br />")
document.write("The variable g is of " & TypeName(g) & " data type."  & "<br /><br />")
</script>

</head>
<body>
</body>
</html>

将文件另存为 subtype.html 并在 IE 中打开。输出将如下所示:

VBScript 数据类型

注意:您还可以使用以下方式声明变量 国家私立 关键字如 public student 或 private student。但是,在使用这两个关键字声明变量时必须更加小心,因为它会改变变量的范围。

总结

  • 变量用于在编程时保存值或表达式。变量必须单独声明和初始化。
  • 虽然您可以在不声明的情况下使用变量,但在使用变量之前声明变量被认为是一种良好的编程习惯。
  • 变量是 VBScript 的唯一数据类型,并且变量具有不同的子类型,包括字符串、布尔值、整数、货币等。

故障排除

如果运行代码后看到空白页,请执行以下操作

  • 按F12打开开发者工具
  • 在左侧工具栏中向下滚动,直到看到“模拟”设置页面
  • 将文档模式从默认(“Edge”)更改为 10
  • 在头部添加如下代码
    <meta http-equiv="x-ua-compatible" content="IE=10">