预测逻辑表达式的完整赋值
VBScript 编程语言不会绕过布尔条件的赋值。即使表达式无需对所有条件赋值也可判断为 True 或 False,VBScript 仍会对布尔逻辑表达式中的所有条件赋值。例如,在以下示例中,<语句 1> 和 <语句 2> 都会赋值,即使 <语句 1> 解析为 False:
<语句 1> AND <语句 2>
建议
为避免错误,在尝试使用值和对象之前,应检查它们都不是 Null。
以下示例:
- 演示逻辑表达式的错误与正确用法
- 考虑到逻辑表达式如何赋值
value.Name 即便在其值是 Null 时也会赋值。这会导致错误。
Sub namecheck(value) If Not IsNull(value) And value.Name = "aName" Then ' ... End If End Sub
在以下条件下代码是正确的:Value 是包含 Name 属性的对象。代码可运行且没有错误。
Sub namecheck(value) If Not IsNull(value) And Not IsEmpty(value) Then If value.Name = "aName" Then ' ... End If End If End Sub

