VBScript中 Operators:逻辑(AND、OR)运算、比较示例
VBScript中 Opera职权范围
An Operator 通过值或变量来执行某些任务。 Opera变量在编程中非常重要,因为没有变量你就无法给变量赋值或者执行任务。
假设,您想计算两个变量 a 和 b 的总和,并将结果保存在另一个变量 c 中。
c = a + b
这里,a、b 和 c 是操作数,+ 和 = 是运算符。
VBScript 中主要有三种运算符:算术、比较和逻辑 Opera躯干。
VBScript 算术 Opera职权范围
VBS 算术运算符,顾名思义,用于算术计算。
不同的算术运算符
- +(加法)
- –(减法)
- *(乘法)
- / (分配)
- %(模量)
- ^(指数)
- &(连接)
您可能熟悉前四个算术运算符,因为我们通常使用它们。
模数运算符用于求除法后的余数。例如,10%3 等于 1。
指数运算符相当于数学中的“幂”。例如,2^3 等于 8。
连接运算符用于连接两个字符串值。
例如, “Hello” & ” John” 将返回“Hello John”。
VBScript 比较 Opera职权范围
比较运算符用于比较两个值。
不同的比较运算符有 == 、 <> 、 < 、 > 、 <= 和 >=。假设有两个变量 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 中打开该文件,您的屏幕将如下所示。
什么是 Operator 优先权?
当表达式中出现多个运算符时,每个部分都按预定顺序进行计算,称为运算符优先级。当表达式包含来自多个类别的运算符时,
- 首先评估算术运算符
- 接下来评估比较运算符
- 最后评估逻辑运算符
比较运算符都具有相同的优先级;也就是说,它们按照从左到右出现的顺序进行评估。
算术运算符按以下顺序进行评估:
- 幂
- 乘法
- 师
- 系数
- 加减
- 最后连接。
逻辑运算符按以下顺序进行评估:
- 不是
- AND
- OR
- 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中打开该文件,您的屏幕将如下所示。
步骤3) 将表达式 a 改为 (5-2)*2/5^3 并保存文件。现在检查输出,你的输出将如下所示:
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 中打开该文件,您的屏幕将如下所示。
总结
- Opera用来分配价值 变量 或执行不同类型的任务。主要有三种类型的运算符 VBScript中:算术、比较和逻辑 Opera躯干。
- Opera运算符优先级是指当表达式中出现多个运算时,运算符的正常求值顺序。可以使用括号来覆盖运算符优先级。
- 常量是一个有意义的名称,它代替永远不会改变的数字或字符串。