JavaScript - 运算符

什么是运算符?

让我们采用一个简单的表达式 4 + 5等于9 。这里4和5被称为操作数而'+'被称为操作符。 JavaScript支持以下类型的运算符。

  • 算术运算符

  • 比较运算符

  • 逻辑(或关系)运算符

  • 分配运算符

  • 条件(或三元)运算符

让我们逐一查看所有运算符。

算术运算符

JavaScript支持跟随算术运算符 :

假设变量A保持10,变量B保持20,然后&减去;

Sr.No。运营商&说明
1

+(加法)

添加两个操作数

例如: A + B将给出30

2

 - (减法)

从第一个减去第二个操作数

Ex: A  -  B将给-10

3

*(乘法)

将两个操作数相乘

例如: A * B将给出200

4

/(分部)

将分子除以分母

Ex: B/A将给2

5

%(模数)

输出余数整数除法

例如: B%A将给0

6

++(增量)

将整数值增加一个

例如: A ++将给出11

7

 - (递减)

将整数值减1;

例如: A--将给出9

注意 : 加法运算符(+)适用于Numeric和Strings。例如"a"+ 10将给出"a10"。

示例

以下代码显示如何在JavaScript中使用算术运算符。

在线演示

<html>
   <body>
   
      <script type = "text/javascript">
         <!--
            var a = 33;
            var b = 10;
            var c = "Test";
            var linebreak = "<br />";
         
            document.write("a + b = ");
            result = a + b;
            document.write(result);
            document.write(linebreak);
         
            document.write("a - b = ");
            result = a - b;
            document.write(result);
            document.write(linebreak);
         
            document.write("a / b = ");
            result = a / b;
            document.write(result);
            document.write(linebreak);
         
            document.write("a % b = ");
            result = a % b;
            document.write(result);
            document.write(linebreak);
         
            document.write("a + b + c = ");
            result = a + b + c;
            document.write(result);
            document.write(linebreak);
         
            a = ++a;
            document.write("++a = ");
            result = ++a;
            document.write(result);
            document.write(linebreak);
         
            b = --b;
            document.write("--b = ");
            result = --b;
            document.write(result);
            document.write(linebreak);
         //-->
      </script>
      
      Set the variables to different values and then try...
   </body>
</html>


输出

a + b = 43
a - b = 23
a / b = 3.3
a % b = 3
a + b + c = 43Test
++a = 35
--b = 8
Set the variables to different values and then try...


比较运算符

JavaScript支持以下比较运算符&minus ;

假设变量A保持10,变量B保持20,然后&减去;

Sr.No。运算符&描述
1

= =(等于)

检查两个操作数的值是否相等,如果是,则条件变为真。

例如:(A == B)不成立。

2

!=(不等于)

检查两个操作数的值是否相等,如果值不相等,则条件变为真。

Ex:(A!= B)为真。

3

> (大于)

检查左操作数的值是否大于右操作数的值,如果是,则条件变为真。

例如:(A> B)不是真的。

4

< (小于)

检查左操作数的值是否小于右操作数的值,如果是,则条件变为真。

例如:(A< B)为真。

5

> =(大于或等于)

检查左操作数的值是否大于或等于右操作数的值,如果是,则条件变为真。

Ex:(A> = B)不成立。

6

< =(小于或等于)

检查左操作数的值是否小于或等于右操作数的值,如果是,则条件变为真。

Ex:(A< = B)为真。

示例

以下代码显示了如何在JavaScript中使用比较运算符。

在线演示

<html>
   <body>  
      <script type = "text/javascript">
         <!--
            var a = 10;
            var b = 20;
            var linebreak = "<br />";
      
            document.write("(a == b) => ");
            result = (a == b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(a < b) => ");
            result = (a < b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(a > b) => ");
            result = (a > b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(a != b) => ");
            result = (a != b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(a >= b) => ");
            result = (a >= b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(a <= b) => ");
            result = (a <= b);
            document.write(result);
            document.write(linebreak);
         //-->
      </script>      
      Set the variables to different values and different operators and then try...
   </body>
</html>


输出

(a == b) => false 
(a < b) => true 
(a > b) => false 
(a != b) => true 
(a >= b) => false 
a <= b) => true
Set the variables to different values and different operators and then try...


逻辑运算符

JavaScript支持以下逻辑运算符 :

假设变量A保持10,变量B保持20,然后&减去;

Sr.No。运营商&说明
1

&&(逻辑与)

如果两个操作数均为非零,则条件为真。

Ex: (A&& B)是真的。

2

|| (逻辑或)

如果两个操作数中的任何一个非零,则条件变为真。

例如:(A || B)为真。

3

! (逻辑NOT)

反转其操作数的逻辑状态。如果条件为真,则Logical NOT运算符将使其为假。

Ex:! (A&& B)是假的。

示例

尝试使用以下代码来学习如何在JavaScript中实现逻辑运算符。

在线演示

<html>
   <body>   
      <script type = "text/javascript">
         <!--
            var a = true;
            var b = false;
            var linebreak = "<br />";
      
            document.write("(a && b) => ");
            result = (a && b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(a || b) => ");
            result = (a || b);
            document.write(result);
            document.write(linebreak);
         
            document.write("!(a && b) => ");
            result = (!(a && b));
            document.write(result);
            document.write(linebreak);
         //-->
      </script>      
      <p>Set the variables to different values and different operators and then try...</p>
   </body>
</html>


输出

(a && b) => false 
(a || b) => true 
!(a && b) => true
Set the variables to different values and different operators and then try...


按位运算符

JavaScript支持以下按位运算符 :

假设变量A保持2,变量B保持3,然后&减去;

Sr.No。运营商&说明
1

&(按位AND)

它对其整数参数的每一位执行布尔AND运算。

Ex:(A&B)是2。

2

| (BitWise OR)

它对其整数参数的每一位执行布尔OR运算。

Ex:(A | B)是3.

3

^(按位异或)

它对其每一位执行布尔异或运算整数参数。异或表示操作数1为真或操作数2为真,但不是两者。

Ex:(A ^ B)为1。

4

〜(按位不)

它是一元运算符,通过反转操作数中的所有位来操作。

Ex:(~B)是-4。

5

<< (左移)

它将第一个操作数中的所有位向左移动第二个操作数中指定的位数。新位用零填充。将一个值左移一个等值相当于将它乘以2,移位两个位置相当于乘以4,依此类推。

Ex:( A<<<<<<<<< 1>是4。

6

>> (右移)

二进制右移运算符。左操作数的值向右移动右操作数指定的位数。

例如:(A>> 1)为1。/p>

7

>>>(右移零)

此运算符就像>>运算符,除了左侧移入的位始终为零。

Ex:(A>>> 1)为1。

示例

请尝试以下代码在JavaScript中实现Bitwise运算符。

在线演示

<html>
   <body>   
      <script type = "text/javascript">
         <!--
            var a = 2; // Bit presentation 10
            var b = 3; // Bit presentation 11
            var linebreak = "<br />";
         
            document.write("(a & b) => ");
            result = (a & b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(a | b) => ");
            result = (a | b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(a ^ b) => ");
            result = (a ^ b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(~b) => ");
            result = (~b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(a << b) => ");
            result = (a << b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(a >> b) => ");
            result = (a >> b);
            document.write(result);
            document.write(linebreak);
         //-->
      </script>      
      <p>Set the variables to different values and different operators and then try...</p>
   </body>
</html>


(a & b) => 2 
(a | b) => 3 
(a ^ b) => 1 
(~b) => -4 
(a << b) => 16 
(a >> b) => 0
Set the variables to different values and different operators and then try...


分配运算符

JavaScript支持以下赋值运算符 :

Sr.No。运营商&说明
1

=(简单赋值)

从右侧操作数到左侧操作数分配值

Ex: C = A + B将A + B的值分配给C

2

+ =(添加和分配)

它添加了权利操作数到左操作数并将结果赋给左操作数。

Ex: C + = A相当于C = C + A

3

-=(减去和赋值)

它从左操作数中减去右操作数,并将结果赋给左操作数。

Ex: C  - = A相当于C = C  -  A

4

* =(乘以和分配)

它将右操作数与左操作数相乘并指定r偏向左操作数。

例如: C * = A相当于C = C * A

5

/=(除以及赋值)

它将左操作数与右操作数分开,并将结果赋给左操作数。

Ex : C/= A相当于C = C/A

6

%=(模块和分配)

使用模数两个操作数并将结果赋值给左操作数。

Ex: C%= A相当于C = C%A

注意 : 相同的逻辑适用于按位运算符,因此它们将变得像<< =,>> =,>> =,& =,| =和^ =。

示例

尝试使用以下代码在JavaScript中实现赋值运算符。

在线演示

<html>
   <body>   
      <script type = "text/javascript">
         <!--
            var a = 33;
            var b = 10;
            var linebreak = "<br />";
         
            document.write("Value of a => (a = b) => ");
            result = (a = b);
            document.write(result);
            document.write(linebreak);
         
            document.write("Value of a => (a += b) => ");
            result = (a += b);
            document.write(result);
            document.write(linebreak);
         
            document.write("Value of a => (a -= b) => ");
            result = (a -= b);
            document.write(result);
            document.write(linebreak);
         
            document.write("Value of a => (a *= b) => ");
            result = (a *= b);
            document.write(result);
            document.write(linebreak);
         
            document.write("Value of a => (a /= b) => ");
            result = (a /= b);
            document.write(result);
            document.write(linebreak);
         
            document.write("Value of a => (a %= b) => ");
            result = (a %= b);
            document.write(result);
            document.write(linebreak);
         //-->
      </script>      
      <p>Set the variables to different values and different operators and then try...</p>
   </body>
</html>


输出

Value of a => (a = b) => 10
Value of a => (a += b) => 20 
Value of a => (a -= b) => 10 
Value of a => (a *= b) => 100 
Value of a => (a /= b) => 10
Value of a => (a %= b) => 0
Set the variables to different values and different operators and then try...


其他运算符

我们将在这里讨论两个在JavaScript中非常有用的运算符:条件运算符(?:)和 typeof运算符

条件运算符(?:)

条件运算符首先计算表达式的true或false值,然后根据评估结果执行两个给定语句中的一个。

Sr.No。运算符和描述
1

?:(有条件)

如果条件为真?然后是值X:否则值Y

示例

尝试使用以下代码来理解条件运算符在JavaScript中的工作方式。

在线演示

<html>
   <body>   
      <script type = "text/javascript">
         <!--
            var a = 10;
            var b = 20;
            var linebreak = "<br />";
         
            document.write ("((a > b) ? 100 : 200) => ");
            result = (a > b) ? 100 : 200;
            document.write(result);
            document.write(linebreak);
         
            document.write ("((a < b) ? 100 : 200) => ");
            result = (a < b) ? 100 : 200;
            document.write(result);
            document.write(linebreak);
         //-->
      </script>      
      <p>Set the variables to different values and different operators and then try...</p>
   </body>
</html>


输出


((a > b) ? 100 : 200) => 200
((a < b) ? 100 : 200) => 100
Set the variables to different values and different operators and then try...


typeof运算符

typeof 运算符是一元运算符,位于其单个操作数之前,可以是任何类型。它的值是一个字符串,表示操作数的数据类型。

typeof 运算符的计算结果为"number","string"或"boolean"操作数是数字,字符串或布尔值,并根据评估返回true或false。

以下是 typeof 运算符的返回值列表。

类型由typeof返回的字符串
Number"number"
String"string"
Boolean"boolean"
Object"object"
Function"function"
Undefined"undefined"
Null"object"

示例

以下代码显示了如何实现 typeof 运算符。

在线演示

<html>
   <body>      
      <script type = "text/javascript">
         <!--
            var a = 10;
            var b = "String";
            var linebreak = "<br />";
         
            result = (typeof b == "string" ? "B is String" : "B is Numeric");
            document.write("Result => ");
            document.write(result);
            document.write(linebreak);
         
            result = (typeof a == "string" ? "A is String" : "A is Numeric");
            document.write("Result => ");
            document.write(result);
            document.write(linebreak);
         //-->
      </script>      
      <p>Set the variables to different values and different operators and then try...</p>
   </body>
</html>


输出

Result => B is String 
Result => A is Numeric
Set the variables to different values and different operators and then try...