VBScript 运算符:逻辑运算符 (AND, OR)、算术运算符、比较运算符示例

VBScript 运算符

运算符对值或变量进行操作以执行某些任务。运算符在编程中非常重要,因为没有它们,您就无法将值赋给变量或执行任务。

假设您想计算两个变量 a 和 b 的总和,并将结果保存在另一个变量 c 中。

c = a + b

在此,a、b 和 c 是操作数,+ 和 = 是运算符。

VBScript 中主要有三种运算符:算术运算符、比较运算符和逻辑运算符。

VBScript 算术运算符

VBS 算术运算符顾名思义,用于算术计算。

不同的算术运算符为

  • + (加法)
  • – (减法)
  • * (乘法)
  • / (除法)
  • % (模运算符)
  • ^ (指数)
  • & (连接)

您可能熟悉前四个算术运算符,因为我们经常使用它们。

模运算符用于查找除法的余数。例如,10%3 等于 1。

指数运算符等同于数学中的“幂”。例如,2^3 等于 8。

连接运算符用于连接两个字符串值。

例如:“Hello” & ” John” 将返回 “Hello John”。

VBScript 比较运算符

比较运算符用于比较两个值。

不同的比较运算符是 == 、<>、< 、>、<= 和 >=。假设您有两个变量 a 和 b,值分别为 5 和 9,那么以下比较的结果将如下所示

a==b  will return false.
a<>b will return true.
a<b will return true.
a>b will return false.
a<=b will return true.
a>=b will return false.

VBScript 逻辑运算符:AND、OR

逻辑运算符用于逻辑运算。

一些逻辑运算符是 AND、OR、NOT 和 XOR。

假设您有两个变量 x 和 y,值分别为 true 和 false,那么以下逻辑运算的结果将如下所示

x AND y  will return false.
x OR y will return true.
NOT(x OR y) will return false.	
x XOR y will return true.

代码示例

第 1 步: 将以下代码复制到编辑器中

<html>
<head>

<script type="text/vbscript">

Dim num1,num2
num1=20
num2=3

document.write(num1 & " + " & num2 & " = " & num1+num2 & "<br />")
document.write(num1 & " - " & num2 & " = " & num1-num2 & "<br />")
document.write(num1 & " * " & num2 & " = " & num1*num2 & "<br />")
document.write(num1 & " / " & num2 & " = " & num1/num2 & "<br />")
document.write(num1 & " ^ " & num2 & " = " & num1^num2 & "<br />")
document.write(num1 & " Mod " & num2 & " = " & num1 Mod num2 & "<br />")
document.write("John" & " & " & "Smith" & " = "& "John" & " Smith" & "<br />")

Dim num3,num4
num3=7
num4=13
If (num3=num4) Then
document.write(num3 & " == " & num4 & " returns true." & "<br />")
Else
document.write(num3 & " == " & num4 & " returns false." & "<br />")

End If

If (num3<>num4) Then
document.write(num3 & " <> " & num4 & " returns true." & "<br />")
Else
document.write(num3 & " == " & num4 & " returns false." & "<br />")
End If

If (num3<num4) Then
document.write(num3 & " < " & num4 & " returns true." & "<br />")
Else
document.write(num3 & " < " & num4 & " returns false." & "<br />")
End If

If (num3>num4) Then
document.write(num3 & " > " & num4 & " returns true." & "<br />")
Else
document.write(num3 & " > " & num4 & " returns false." & "<br />")
End If

If (num3<=num4) Then
document.write(num3 & " <= " & num4 & " returns true." & "<br />")
Else
document.write(num3 & " <= " & num4 & " returns false." & "<br />")
End If

If (num3>=num4) Then
document.write(num3 & " >= " & num4 & " returns true." & "<br />")
Else
document.write(num3 & " >= " & num4 & " returns false." & "<br />")
End If

Dim bool1,bool2
bool1=false
bool2=true

If (bool1 AND bool2) Then
document.write(bool1 & " AND " & bool2 & " returns true." & "<br />")
Else
document.write(bool1 & " AND " & bool2 & " returns false." & "<br />")
End If

If (bool1 OR bool2) Then
document.write(bool1 & " OR " & bool2 & " returns true." & "<br />")
Else
document.write(bool1 & " OR " & bool2 & " returns false." & "<br />")
End If

If NOT(bool1 OR bool2) Then
document.write("NOT (" & bool1 & " OR " & bool2 & " ) returns true." & "<br />")
Else
document.write("NOT (" & bool1 & " OR " & bool2 & " ) returns false." & "<br />")
End If

If (bool1 XOR bool2) Then
document.write(bool1 & " XOR " & bool2 & " returns true." & "<br />")
Else
document.write(bool1 & " XOR " & bool2 & " returns false." & "<br />")
End If

</script>

</head>
<body>

</body>
</html>

步骤 2) 将文件保存为您喜欢的目录下的 operator.html。现在,在 Internet Explorer 中打开该文件,您的屏幕将如下所示。

VBScript Logical Operators

什么是运算符优先级?

当多个运算符出现在一个表达式中时,每个部分都按照预先确定的顺序进行求值,称为运算符优先级。当表达式包含多个类别的运算符时——

  • 算术运算符首先计算
  • 比较运算符接下来计算
  • 逻辑运算符最后计算

比较运算符具有相等的优先级;也就是说,它们按照出现的顺序从左到右进行求值。

算术运算符的求值顺序如下

  • 指数
  • 乘法
  • 除法
  • 加法和减法
  • 最后是连接。

逻辑运算符的求值顺序如下

  • NOT
  • 并且
  • 或者
  • XOR。

您可以使用括号(圆括号)来更改正常的优先级顺序,以满足您的需求。在括号内,将保持正常的运算符优先级。

例如,如果您尝试计算表达式 a = 5-2*2/5^3,您期望的结果是什么?结果将是 4.968。如何计算?指数首先出现,然后是乘法和除法,最后是减法。所以上面的表达式计算如下:5-2*2/(5^3) –> 5-(2*2)/125 –> 5-(4/125) –> 5-.032 –> 4.968。

假设您想先计算 5-2,那么您应该将表达式写为 a = (5-2)*2/5^3。现在您将获得 a 的值为 3*2/5^3 –> 3*2/125–>6/125 –> 0.048。您可以尝试下面提供的代码。

代码示例

第 1 步: 将以下代码复制到编辑器中

<html>
<head>

<script type="text/vbscript">

Dim a
a  = 5-2*2/5^3
document.write(a)
</script>

</head>
<body>

</body>
</html>

步骤 2) 将文件保存为您喜欢的目录下的 precedence.html。现在,在 Internet Explorer 中打开该文件,您的屏幕将如下所示。

VBScript Operator Precedence

步骤 3) 将表达式 a 更改为 (5-2)*2/5^3 并保存文件。现在检查输出,您的输出将如下所示

VBScript Operator Precedence

VBScript 常量

在使用 VBS 编码时,您可能有时需要使用常量。常量是一个有意义的名称,它取代了不会改变的数字或字符串。例如,假设您想在代码中使用常量 ?。很明显,常量 ? 的值不会改变。因此,您可以创建一个名为“pi”的常量,并在需要时使用它。您需要使用关键字“const”来声明常量。例如,您可以声明一个名为 pi 的常量,并像这样为它分配 ? 的值

const pi = 3.14

声明常量后,如果您尝试更改其值,将会收到错误。

在为常量命名时,您需要注意不要使用预定义的 VBScript 常量。最佳预防措施是避免使用以 vb 开头的名称,因为所有 VBScript 预定义常量都以 vb 开头。例如 vbRed、vbSunday、vbArray 等。您可以根据需要使用这些预定义的 VBScript 常量。

尝试下面的代码以使概念更清晰。

代码示例

<html>
<head>

<script type="text/vbscript">
   Dim intRadius
   intRadius = 20
   const pi=3.14
   area = pi*intRadius^2
   document.write(area)
</script>

</head>
<body>
</body>
</html>

将文件保存为您喜欢的目录下的 constant.html。现在,在 Internet Explorer 中打开该文件,您的屏幕将如下所示。

VBScript Constants

摘要

  • 运算符用于将值赋给变量或执行不同类型的任务。VBScript 中主要有三种运算符:算术运算符、比较运算符和逻辑运算符。
  • 运算符优先级是在表达式中出现多个运算符时,运算符的正常求值顺序。您可以使用括号来覆盖运算符优先级。
  • 常量是一个有意义的名称,它取代了永远不会改变的数字或字符串。