Тема: Особенности VBScript
Есть, например, такой код
Function CheckA(a) CheckA = (a = 2) MsgBox "Function executed!" End Function Dim a a = 2 If (a = 1) And CheckA(a) Then MsgBox "TRUE" Else MsgBox "FALSE" End If
Его выполнение вполне закономерно приводит к появлению сообщения "FALSE", однако, перед этим появляется сообщение "Function executed!".
Т.е. VBScript производит полное вычисление логического выражения.
Можно ли отказаться от полного вычисления логических выражениий?
А то вместо лаконичной записи
If (Not Obj Is Nothing) And (Obj.Attributes(...).Value = "...") Then ... End If
Приходится писать громоздкое
If Not Obj Is Nothing Then If Obj.Attributes(...).Value = "..." Then ... End If End If