这是一个vbscript代码。请解决这个并告诉我原因。
a = 10
b =10
c = empty
d= empty
Msgbox a=b=c=d
预期结果为假。 实际结果为真。请解释一下。
此致 克里希南
答案 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。