变量子类型

当你用DIM语句声明一个变量时，你没有为变量定义数据类型。这是因为VBScript中所有变量都是相同的数据类型。所有变量都是variant型变量。variant是一种特殊的变量类型，它可以代表许多其它类型的变量。

当你需要用一个变量代表一个数字时，你只要把一个数字分配给该变量，不用引号标记。当你需要用一个变量代表一个字符串时，你只要把字符串分配给该变量，用引号标记。（数字不用引号，字符串要用引号。）一个variant型变量可以自动与赋给它的值的类型保持一致。

通常，你没有理由为一个变量如何代表你分配给它的数据而操心。但是，有一个函数可以揭示一个variant型变量的子类型。考虑如下的例子：

<%myvar=

”Hello Magic!”%><%=TYPENAME(myvar)%>

<%myvar=3%><%=TYPENAME(myvar)%>

在这个例子中，变量myvar被分配了两个不同数据类型的值。对每种类型的值，VBScript函数TYPENAME()可以显示该变量所代表的实际数据的子类型。例如，当给变量myvar分配字符串数据“Hello Magic!

”时，variant型变量的子类型是string。当给变量myvar分配整数3时，myvar的子类型是integer。

举这个例子的目的是说明variant型变量实际代表的数据是有子类型的。函数TYPENAME()可以揭示一个变量的子类型。但是，在多数情况下，你不需要关心一个变量是如何代表数据的（参见下一节）。