myfreax

JavaScript 算术运算符

在本教程中,您将学习如何使用 JavaScript 算术运算符来执行算术计算

JavaScript 算术运算符
JavaScript 算术运算符

在本教程中,您将学习如何使用 JavaScript 算术运算符来执行算术计算。

JavaScript 算术运算符简介

JavaScript 支持以下标准算术运算符:

算法操作符号
加法+
减法-
乘法*
分配/

算术运算符接受数值作为操作数并返回单个数值。数值可以是字面量或变量。

加号运算符 +

加法运算符返回两个值的和。例如,语句 let sum = 10 + 20; 使用加法运算符计算两个数的和:

let sum = 10 + 20; 
console.log(sum); // 30

此外,您可以对两个变量使用加号运算符。例如:

let netPrice    = 9.99;
let shippingFee = 1.99;
let grossPrice  = netPrice + shippingFee;

console.log(grossPrice);
11.98

如果其中一个值是 string,则加号运算符遵循以下规则:

  • 如果两个值都是字符串,它将第二个字符串连接到第一个字符串。
  • 如果一个值是字符串,它会隐式地将数值转换为字符串并连接两个字符串。

例如,以下使用加法运算符来连接两个字符串:

let x = '10';
let y = '20';
let result = x + y;

console.log(result);
1020

以下示例显示如何使用加号运算符计算数字和字符串的总和:

let result = 10 + '20';

console.log(result);    
1020

在此示例中,JavaScript 将数字 10 转换为字符串 '10' 并连接第二个字符串 '20'

下表显示了对特殊数字使用加法运算符时的结果:

第一个值第二个值结果解释
NaNNaN如果其一个值为 NaN,则结果为 NaN
InfinityInfinityInfinityInfinity + Infinity = NaN
-Infinity-Infinity-Infinity-Infinity + ( -Infinity) = – Infinity
Infinity-InfinityNaNInfinity + -Infinity = NaN
+0+0+0+0 + (+0) = +0
-0+0+0-0 + (+0) = +0
-0-0-0-0 + (-0) = -0

减号运算符 -

减法运算符 -  用于一个数字中减去另一个数字。例如:

let result = 30 - 10;
console.log(result); // 20

如果值是字符串、布尔值、null 或未定义,JavaScript 引擎将:

  • 首先,使用 Number() 函数将值转换为数字。
  • 之后,执行减法。

下表显示了如何对特殊值使用减法运算符:

第一个值第二个值结果解释
NaNNaN如果其一个值为 NaN,则结果为 NaN
InfinityInfinityNaNInfinity – Infinity = Infinity
-Infinity-Infinity-Infinity-Infinity – ( -Infinity) = -Infinity
Infinity-InfinityInfinityInfinity
+0+0+0+0 – (+0) = +0
+0-0-0+0 – (-0) = -0
-0-0+0-0 – (-0) = +0

乘法运算符 *

JavaScript 使用星号 * 来表示乘法运算符。乘法运算符将两个数字相乘并返回一个值。例如:

let result = 2 * 3;
console.log(result);
6

如果任一值不是数字,则 JavaScript 引擎会使用 Number() 函数将其隐式转换为数字并执行乘法。例如:

let result = '5' * 2;

console.log(result);
10

下表显示乘法运算符如何处理特殊值:

第一个值第二个值结果解释
NaNNaN如果任一值为 NaN,则结果为 NaN
Infinity0NaNInfinity * 0 = NaN
InfinityPositive numberInfinity-Infinity * 100 = -Infinity
InfinityNegative number-InfinityInfinity * (-100) = Infinity
InfinityInfinityInfinityInfinity * Infinity = Infinity

除法运算符 /

Javascript 使用斜杠 / 字符来表示除法运算符。除法运算符将第一个值除以第二个值。例如:

let result = 20 / 10;

console.log(result); // 2

如果任一值不是数字,JavaScript 引擎会将其转换为数字,然后进行相除。例如:

let result = '20' / 2;
console.log(result); // 10;

下表显示了除法运算符在应用于特殊值时的行为:

第一个值第二个值结果解释
NaNNaN如果任一值为 NaN,则结果为 NaN
A number0Infinity1/0 = Infinity
InfinityInfinityNaNInfinity / Infinity = NaN
00NaN0/0 = NaN
InfinityA positive numberInfinityInfinity / 2 = Infinity
InfinityA negative number-InfinityInfinity / -2 = -Infinity

对对象使用 JavaScript 算术运算符

如果一个值是一个对象,JavaScript 引擎会调用valueOf()对象的方法来获取值进行计算。例如:

let energy = {
  valueOf() {
    return 100;
  },
};

let currentEnergy = energy - 10;
console.log(currentEnergy);

currentEnergy = energy + 100;
console.log(currentEnergy);

currentEnergy = energy / 2;
console.log(currentEnergy);

currentEnergy = energy * 1.5;
console.log(currentEnergy);
90
200
50
150

如果对象没有 valueOf() 方法,但存在 toString() 方法,JavaScript 引擎会调用 toString() 方法获取值进行计算。例如:

let energy = {
  toString() {
    return 50;
  },
};

let currentEnergy = energy - 10;
console.log(currentEnergy);

currentEnergy = energy + 100;
console.log(currentEnergy);

currentEnergy = energy / 2;
console.log(currentEnergy);

currentEnergy = energy * 1.5;
console.log(currentEnergy);
40
150
25
75

结论

  • 使用 JavaScript 算术运算符,包括加号 + 、减号  - 、乘号  * 和除号  / 来执行算术运算。

内容导航