VBS - 空变量判断详解

  在条件语句(比如使用 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 型,其他判断对其完全没有实际意义。