一直覺得 Request.QueryString/Form 找不到指定的變量時會返回空字符串。數組
其實否則,Request.QueryString/Form 找不到指定的變量時,返回值的類型是 Empty。函數
Empty 是 Variant 的子類型。spa
CInt() 不接受空字符串,可是卻能夠接受 Empty 類型。orm
下面是關於 VBScript 數據類型的一些介紹。
對象
VBScript 只有一種數據類型,稱爲 Variant。
ip
Variant 是一種特殊的數據類型,根據使用的方式,它能夠包含不一樣類別的信息。ci
下表顯示 Variant 包含的數據子類型:字符串
子類型 | 描述 |
Empty | 未初始化的 Variant。對於數值變量,值爲 0;對於字符串變量,值爲零長度字符串 ("")。 |
Null | 不包含任何有效數據的 Variant。 |
Boolean | 包含 True 或 False。 |
Byte | 包含 0 到 255 之間的整數。 |
Integer | 包含 -32,768 到 32,767 之間的整數。 |
Currency | -922,337,203,685,477.5808 到 922,337,203,685,477.5807。 |
Long | 包含 -2,147,483,648 到 2,147,483,647 之間的整數。 |
Single | 包含單精度浮點數,負數範圍從 -3.402823E38 到 -1.401298E-45,正數範圍從 1.401298E-45 到 3.402823E38。 |
Double | 包含雙精度浮點數,負數範圍從 -1.79769313486232E308 到 -4.94065645841247E-324,正數範圍從 4.94065645841247E-324 到 1.79769313486232E308。 |
Date (Time) | 包含表示日期的數字,日期範圍從公元 100 年 1 月 1 日到公元 9999 年 12 月 31 日。 |
String | 包含變長字符串,最大長度可爲 20 億個字符。 |
Object | 包含對象。 |
Error | 包含錯誤號。 |
可以使用 VarType 函數返回數據的 Variant 子類型。io
VarType 函數返回下列值:table
常數 | 值 | 描述 |
vbEmpty | 0 | Empty(未初始化) |
vbNull | 1 | Null(無有效數據) |
vbInteger | 2 | 整數 |
vbLong | 3 | 長整數 |
vbSingle | 4 | 單精度浮點數 |
vbDouble | 5 | 雙精度浮點數 |
vbCurrency | 6 | 貨幣 |
vbDate | 7 | 日期 |
vbString | 8 | 字符串 |
vbObject | 9 | Automation 對象 |
vbError | 10 | 錯誤 |
vbBoolean | 11 | Boolean |
vbVariant | 12 | Variant(只和變量數組一塊兒使用) |
vbDataObject | 13 | 數據訪問對象 |
vbByte | 17 | 字節 |
vbArray | 8192 | 數組 |
VarType 函數從不經過本身返回 Array 的值。它老是要添加一些其餘值來指示一個具體類型的數組。當 Variant 的值被添加到 Array 的值中以代表 VarType 函數的參數是一個數組時,它才被返回。例如,對一個整數數組的返回值是 2 + 8192 的計算結果,或 8194。若是一個對象有默認屬性,則 VarType(object) 返回對象默認屬性的類型。