运算符

VBScript一共4大类运算符:算术、连接、关系、逻辑

一、算术运算符

运算运算符表达式说明
加法+X+Y数字相加
减法-X-Y数字相减
乘法*X*Y乘法
浮点除法/X/Y带小数结果,5/2=2.5
整数除法\X\Y只取商的整数部分,舍弃小数,12\5=2
指数^X^YX的Y次方,2^3=8
取余数ModX Mod Y求除法余数,12 Mod 5 = 2
正号++X标识正数
负号--X负数

重点区分 /\

  • /:浮点除,结果可以有小数
  • \:整数除,先把两边四舍五入成整数,相除后直接砍掉小数,不留余数

二、连接运算符(拼接字符串)

两个:&+

  1. &(推荐) 自动把两边数据强制转为字符串再拼接,不管是不是数字
money = 123
words = "总金额是:" & money
'结果:总金额是:123
Code language: PHP (php)
  1. + 只有两边都是字符串,才做字符串拼接; 如果一边数字一边字符串,会尝试当成数字加法,类型不对直接报错。
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)

常用:AndOrNot

  • And:并且,两边全部True,结果才True 3=3 And 4=4 → True
  • Or:或者,任意一边True,结果就是True 3>4 Or 4=4 → True
  • Not:取反,Not True = False

五、运算符优先级

从高到低顺序:

  1. 指数 ^
  2. 负号 -
  3. *、浮点除/
  4. 整数除 \
  5. 取余 Mod
  6. +、减-
  7. 连接 &
  8. 关系运算符 > < = <> >= <=
  9. 逻辑运算符:NotAndOr

括号 () 优先级最高,优先算括号内部

例子

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 TrueTrue
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)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注