VBScript 变量声明及数据类型:Dim、String、Boolean
变量是编程的基础。变量用于保存值或表达式。每当您要处理一段数据时,您都必须声明一个变量。
例如,如果您必须存储学生姓名或员工工资,您将使用名为学生或工资的变量。
变量也可用于保存表达式。假设您使用变量 markE 和 markM 存储了学生的英语和数学成绩。
您想找到总分。然后,您可以使用一个名为 markT 的变量并将其值设置为 markE + markM。换句话说,markT = markE + markM。这里,markT 是一个包含表达式的变量。
声明变量
声明变量与创建变量相同,因为您指示计算机保留内存空间。您可以按自己想要的方式命名变量。它可以是简短的名称,如 x、y 或 z,也可以是更具自我描述性的名称,如学生、姓名、薪水等。为变量提供清晰且有意义的名称被认为是一种良好的编程习惯。
VBScript 变量名有一定的规则。
- 变量名必须以字母开头。例如:salary、mark 等。不允许使用以数字或特殊字符开头的变量。例如:1stSchool、3rdCar、_name 等。
- 变量名称不能超过 255 个字符。
- 变量名不应包含句点 (.)。
要声明变量,您需要使用关键字 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 中打开。输出将如下所示:
注意:您还可以使用以下方式声明变量 国家 和 私立 关键字如 public student 或 private student。但是,在使用这两个关键字声明变量时必须更加小心,因为它会改变变量的范围。
总结
- 变量用于在编程时保存值或表达式。变量必须单独声明和初始化。
- 虽然您可以在不声明的情况下使用变量,但在使用变量之前声明变量被认为是一种良好的编程习惯。
- 变量是 VBScript 的唯一数据类型,并且变量具有不同的子类型,包括字符串、布尔值、整数、货币等。
故障排除
如果运行代码后看到空白页,请执行以下操作
- 按F12打开开发者工具
- 在左侧工具栏中向下滚动,直到看到“模拟”设置页面
- 将文档模式从默认(“Edge”)更改为 10
- 在头部添加如下代码
<meta http-equiv="x-ua-compatible" content="IE=10">