http://blog.sina.com.cn/s/blog_4c9c3a480100zv8j.html
在条件语句(比如使用 If ... Then 之类语句)中,经常遇到这种情况——需要判断变量是否为“空”,而“空”又分好几种。所以,在此类 VBS 语句中,定义条件所用的解释性描述,也有好几种。各种解释性描述对各类空变量的判断结果如下:
变量类型与取值(设变量为a) | 解释性描述 | |||||||
a | a=Empty | IsEmpty(a) | a=0 | a="" | a Is Nothing | a=Null | IsNull(a) | |
Empty 型(未初始化型) | 假 | 真 | 真 | 假 | 假 | 出错 | 假 | 假 |
数值型-0 | 假 | 真 | 假 | 真 | 假 | 出错 | 假 | 假 |
字符型-空字符串 | 出错 | 真 | 假 | 假 | 真 | 出错 | 假 | 假 |
对象-空对象 | 出错 | 出错 | 假 | 出错 | 出错 | 真 | 出错 | 假 |
Null 型(人为的定义无效类型) | 出错 | 假 | 假 | 假 | 假 | 出错 | 假 | 真 |
1,a=Empty 用于解释时相当于 (IsEmpty(a) Or a=0 Or a=""),但对对象却无法判断。 2,IsEmpty(a)、IsNull(a) 只能用于解释;a Is Nothing 也只能用于解释,赋值的话要用 Set a=Nothing。 3,a=Null 没有对应的“真”,一般只用来赋值。 4,Null 型只有唯一的值,所以除了判断是不是 Null 型,其他判断对其完全没有实际意义。