请解决并解释

时间:2013-11-28 05:56:19

标签: vbscript qtp

这是一个vbscript代码。请解决这个并告诉我原因。

a = 10
b =10
c = empty
d= empty
Msgbox a=b=c=d 

预期结果为假。 实际结果为真。请解释一下。

此致 克里希南

2 个答案:

答案 0 :(得分:4)

从左到右评估所有比较运算符并具有相同的优先级。这里的问题是“空=假”。如果要检查var是否真的为空,则必须使用isEmpty函数。在逻辑比较中,empty = false。

你的表达被评估:

1. a=b [true]
2. (a=b)=c [false] because c is empty and false
3. ((a=b)=c)=d  because d is false and 2. is false

Ergo false = false,这是真的; - )

答案 1 :(得分:0)

您可能会考虑尝试使用以下内容:

a = 10
b =10
c = empty
d= empty
Msgbox a=b AND a=c AND a=d

我认为您所拥有的代码会导致分配而不是比较。即使VBScript对两者使用=符号,分配也总是返回true。