VBScript一共4大类运算符:算术、连接、关系、逻辑
一、算术运算符
| 运算 | 运算符 | 表达式 | 说明 |
|---|---|---|---|
| 加法 | + | X+Y | 数字相加 |
| 减法 | - | X-Y | 数字相减 |
| 乘法 | * | X*Y | 乘法 |
| 浮点除法 | / | X/Y | 带小数结果,5/2=2.5 |
| 整数除法 | \ | X\Y | 只取商的整数部分,舍弃小数,12\5=2 |
| 指数 | ^ | X^Y | X的Y次方,2^3=8 |
| 取余数 | Mod | X Mod Y | 求除法余数,12 Mod 5 = 2 |
| 正号 | + | +X | 标识正数 |
| 负号 | - | -X | 负数 |
重点区分
/和\
/:浮点除,结果可以有小数\:整数除,先把两边四舍五入成整数,相除后直接砍掉小数,不留余数
二、连接运算符(拼接字符串)
两个:& 和 +
&(推荐) 自动把两边数据强制转为字符串再拼接,不管是不是数字。
money = 123
words = "总金额是:" & money
'结果:总金额是:123
Code language: PHP (php)
+只有两边都是字符串,才做字符串拼接; 如果一边数字一边字符串,会尝试当成数字加法,类型不对直接报错。
a=123
s="www.bamn.cn"
's2 = a + s '报错!数字+字符串不能用+拼接
s2 = a & s '✅ 输出:123www.bamn.cn
Code language: PHP (php)
字符串拼接优先用 &,避免+的歧义
三、关系运算符(比较运算符)
结果只有两种布尔值:True / False
| 运算符 | 含义 |
|---|---|
= | 等于(VBS判断相等只用一个=) |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
<> | 不等于 |
- 可以比较数字,也可以比较字符串
- 字符串比较规则:从左往右逐个对比字符的ASCII码,第一个不一样的字符决定大小
Response.Write 1=1 'True
Response.Write 1>=3 'False
Response.Write 3<>23 'True
Code language: PHP (php)
四、逻辑运算符(布尔运算,操作True/False)
常用:And、Or、Not
And:并且,两边全部True,结果才True3=3 And 4=4→ TrueOr:或者,任意一边True,结果就是True3>4 Or 4=4→ TrueNot:取反,Not True = False
五、运算符优先级
从高到低顺序:
- 指数
^ - 负号
- - 乘
*、浮点除/ - 整数除
\ - 取余
Mod - 加
+、减- - 连接
& - 关系运算符
> < = <> >= <= - 逻辑运算符:
Not→And→Or
括号
()优先级最高,优先算括号内部
例子
Dim a
a = 123
Dim s
s = "foxdevelop.com"
Dim s2
's2 = a + s '取消注释会报错,类型不匹配
s2 = a & s
Response.Write(s2) '输出:123foxdevelop.com
r = 12\5
Response.Write r '整数除法,12\5=2
Response.Write 1=1 'True
Response.Write 1>=3 'False
Response.Write 3<>23 'True
Response.Write 3>4 Or 4=4 'False Or True → True
Response.Write 3=3 And 4=4 'True And True → True
Code language: PHP (php)
当一个表达式包好多个运算符时,运算符的符号有一个固定的优先顺序。
算术运算符>连接>关系>逻辑
如果同优先级的运算符,以从左到右的顺序进行计算。当然我们可以使用括号来改变顺序。强制让括号这部分优先执行。
<%
Response.Write 1+3 > 5 'False 算术 》 关系运算
Response.Write 4 > 5 Or 2 = 2 '关系 》逻辑运算
Response.Write "3>3的结果:" & (3 > 3)
%>Code language: PHP (php)
Previous: 变量的作用域 & 生命周期
Next: VBScript 数据类型