关于vbscript得一个简单问题,初学者请教

来源:百度知道 编辑:UC知道 时间:2024/05/16 01:43:08
<%
dim a,b
a=2
b=3

s=a+b*b>b and a or b+b

response.write(s)

%> 此题得结果为什么是6 而不是true
s不定义他是怎样处理的,能得出6?

你把s定义一下,

Dim s As Boolean

这样结果就是 true 了。

补充:
s=a+b*b>b and a or b+b

a+b*b>b true

true and a 就会将true转换为数值进行位运算,即-1 and 2 结果 2(如果操作数由一个 Boolean 表达式和一个数值表达式组成,则 Visual Basic 将 Boolean 表达式转换为数值(–1 表示 True,0 表示 False),然后执行按位运算。)

2 or b+b 继续数值的位运算,即 2 or 6 结果 6

当表达式有多种运算符时,先处理算术运算符,接着处理比较运算符,然后再处理逻辑运算符
按照楼上的定义方法,是正确的..