Javascript 简明教程

JavaScript - Arithmetic Operators

JavaScript Arithmetic Operators

JavaScript 中的算术运算符对数字值(操作数)执行数学计算。由于对两个操作数执行计算,因此大多数算术运算符都是二元运算符。一些算术运算符是一元运算符。一元运算符对单个操作数执行计算。

JavaScript 支持许多算术运算符,例如加法、减法、乘法、除法运算符等。它对算术运算符使用公共符号,例如“ + ”表示加法,“ - ”表示减法,“ * ”表示乘法,“ / ”表示除法等。

操作数可以是文字、变量或表达式。

var z = 3 + 5;  // 3 and 5 are literal values.
const x = 3; y = 5;
var z = x + y ; // x and y are variables.
var z = 3 + 2*x  // expression

通常,算术运算符用于执行数学运算,但它们也可用于其他运算。例如,加法运算符(+)可用于字符串连接。

这里,我们给出了一个包含数学运算符并解释每个运算符功能的表格。

Operator

Name

Description

+

Addition

Adds two operands

-

Subtraction

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

*

Multiplication

Multiply both operands

/

Division

将分子除以分母

%

Modulus

输出整数除法余数

++

Increment

将一个整数值增加 1

 — 

Decrement

将一个整数值减少 1

让我们借助示例来讨论不同的运算符。

JavaScript Addition (+) Operator

JavaScript 加法运算符 () 将两个数字运算数相加。它以加号 () 符号表示。

var x = 5, y = 10;
var sum = x + y;

此运算符还可用于连接字符串和/或数字。

var z = '10' + 3  // returns 103
var z = '10' + '3'  // returns 103
  1. 如果一个运算数是字符串,则加法运算符会将另一个运算数转换为字符串,并将其与第一个运算数连接起来。

  2. 如果两个运算数都是字符串,则它会只将第二个运算符连接到第一个运算符上。

  3. 如果两个运算数都是数字值,则它将返回数字值。

Example

在下面的示例中,我们演示了如何将两个十进制数相加,以及如何将字符串和数字串联起来。

<html>
<body>
   <script>
      const x = 3; y = 5;
      var z = x + y ;
      document.write(z +"</br>");
      var z = '10' + 3
      document.write(z +"</br>");
      var z = '10' + '3';
      document.write(z +"</br>");
   </script>
</body>
</html>

JavaScript Subtraction (-) Operator

JavaScript 减法运算符 (-) 将右运算数从左运算数中减去,并产生它们的差。它以减号 (-) 符号表示。

20 - 10; // returns 10
'20' - 10; // returns 10
'20' - '10'; // returns 10
'20ee' - 10; // returns NaN
NaN - 10 // return NaNs
Infinity - 10 // returns infinity
  1. 减法运算符使用数字运算数,但也可用于非数字运算数,例如字符串。

  2. 如果两个运算数都是数字,则结果为数字。

  3. 如果任何一个或两个运算数是字符串(仅包含数字),则它首先将字符串转换为数字,然后再执行减法运算。

  4. 如果字符串包含非数字值,则它将返回 NaN。

  5. 如果任何运算数是 NaN 或 Infinity,则结果分别为 NaN 或 Infinity。

Example

在下面的示例中,我们演示了如何将两个十进制数相减,以及其他数据类型的减法。

<html>
<body>
   <script>
      var x = 20; y = 10;
      var z = x - y ;
      document.write(z +"</br>");
      x = "20"; y = "10"
      z = x - y ;
      document.write(z +"</br>");
      x = "20ee";
      z = x - y ;
      document.write(z +"</br>");
   </script>
   <p>Change the values of the variables and test the resultant values</p>
</body>
</html>

JavaScript Multiplication (*) Operator

JavaScript 乘法运算符乘以两个数字(运算数)。它给出两个运算数的乘积。它以星号 (*) 符号表示。如果两个运算数具有相同符号,则乘积为正数。如果两个运算数具有不同的符号,则乘积为负数。

如果任何一个或两个运算数是字符串,则它会将字符串转换为数字,然后返回它们的乘积。

Example

在下面的示例中,我们演示了如何对不同类型的运算数使用乘法运算符。

<html>
<body>
   <script>
      var x = 20; y = 10;
      var z = x * y ;
      document.write(z +"</br>");
      x = "20"; y = "10"
      z = x * y ;
      document.write(z +"</br>");
      x = "20ee";
      z = x * y ;
      document.write(z +"</br>");
   </script>
   <p>Change the values of the variables and test the resultant values</p>
</body>
</html>

JavaScript Division (/) Operator

JavaScript 运算符 (/) 将左操作数(被除数)除以右操作数(除数)并返回商数。它用斜杠 (/) 符号表示。

20/10  // returns 2
20/-10 // return -2
100/0  // returns Infinity
0/0    // returns NaN

Example

我们来演示一下除法运算符的使用。

<html>
<body>
   <script>
      var x = 20; y = 10;
      var z = x / y ;
      document.write(z +"</br>");
      x = "20"; y = "10"
      z = x / y ;
      document.write(z +"</br>");
      z = x / 0 ;
      document.write(z +"</br>");
      z = 0 / 0 ;
      document.write(z +"</br>");
   </script>
   <p>Change the values of the variables and test the resultant values</p>
</body>
</html>

JavaScript Modulus (%) Operator

JavaScript 取模运算符 (%) 会在第一个操作数除以第二个操作数时返回余数。它又称为余数运算符。它用百分号 (%) 符号表示。它采用被除数的符号。我们举个例子:5%3 等于 2,因为 5 除以 3 时余数是 2。

Example

我们通过一个示例程序来理解取模运算符。

<html>
<body>
   <script>
      var x = 20 % 9;
      var y = -20 % 9;
      var z = 20.43 % 9;
      var a = 20 % -9;
      var b = 20 % 10;
      document.write(x +"</br>");
      document.write(y +"</br>");
      document.write(z +"</br>");
      document.write(a +"</br>");
      document.write(b +"</br>");
   </script>
  </body>
</html>

JavaScript Increment (++) Operator

JavaScript 自增运算符 () 将操作数的值增加 1。它是一个一元运算符。它只接受一个操作数。它用双加号 () 符号表示。

JavaScript 中共有两种类型的自增运算符 −

Prefix Increment Operator

前缀自增运算符在使用变量的当前值之前将变量的值增加 1。例如:

var x = 10;
var y = ++x; // x is now 11 and y is also 11.

Postfix Increment Operator

后缀自增运算符在使用变量的当前值之后将变量的值增加 1。例如:

var a = 10;
var b = a++; // a is now 11 but b is 10.

这里,在以上代码的第二行中,首先将 a 的当前值赋值给 b,然后对其进行自增。

我们来看以下示例 −

<html>
<body>
   <script>
      var x = 10;
      var y = --x;  //prefix decrement
      var a = 10;
      var b = a--;  // postfix decrement
	  document.write("x = " + x);
      document.write(" y = " + y + "<br>");
      document.write("a = " + a);
      document.write(" b = " + b + "<br>");
   </script>
   <p>Change the values of the variables and check the results</p>
</body>
</html>

JavaScript Decrement (--) Operator

JavaScript 自减运算符 (--) 将操作数的值减少 1。它也是一个一元运算符,即它只接受一个操作数。它用双减号 (--) 符号表示。

JavaScript 中中共两种类型的自减运算符 −

Prefix Decrement Operator

前缀自减运算符在使用变量的当前值之前将变量的值减少 1。例如:

var x = 10;
var y = --x; // x is now 9 and y is also 9.

Postfix Decrement Operator

后缀自减运算符在使用变量的当前值之后将变量的值减少 1。例如:

var a = 10;
var b = a--; // a is now 9 but b is 10.

这里,在以上代码的第二行中,首先将 a 的当前值赋值给 b,然后对其进行自减。

我们来看以下示例 −

<html>
<body>
   <script>
      var x = 10;
      var y = --x;  //prefix decrement
      var a = 10;
      var b = a--;  // postfix decrement
	  document.write("x = " + x);
      document.write(" y = " + y + "<br>");
      document.write("a = " + a);
      document.write(" b = " + b + "<br>");
   </script>
   <p>Change the values of the variables and check the results</p>
</body>
</html>