摘要:在本教程中,您将学习如何使用 JavaScript 算术运算符执行算术计算。
JavaScript 算术运算符简介
JavaScript 支持以下标准算术运算符
运算符 | 符号 |
---|---|
加法 | + |
减法 | - |
乘法 | * |
除法 | / |
算术运算符接受数值作为操作数,并返回单个数值。数值可以是字面量或变量。
加法运算符 (+)
加法运算符返回两个值的总和。例如,以下代码使用加法运算符计算两个数字的总和
let sum = 10 + 20;
console.log(sum); // 30
Code language: JavaScript (javascript)
此外,您可以将加法运算符与两个 变量 一起使用。例如
let netPrice = 9.99,
shippingFee = 1.99;
let grossPrice = netPrice + shippingFee;
console.log(grossPrice);
Code language: JavaScript (javascript)
输出
11.98
Code language: CSS (css)
如果其中一个值为 字符串,则加法运算符将使用以下规则
- 如果两个值都是字符串,则将第二个字符串连接到第一个字符串。
- 如果一个值为字符串,则将隐式地将数值转换为字符串,并将两个字符串连接起来。
例如,以下代码使用加法运算符连接两个字符串
let x = '10',
y = '20';
let result = x + y;
console.log(result);
Code language: JavaScript (javascript)
输出
1020
以下示例演示了如何使用加法运算符计算数字和字符串的总和
let result = 10 + '20';
console.log(result);
Code language: JavaScript (javascript)
输出
1020
在此示例中,JavaScript 将数字 10
转换为字符串 '10'
并将第二个字符串 '20'
连接到它。
下表显示了在使用加法运算符与特殊数字时得到的结果
第一个值 | 第二个值 | 结果 | 解释 |
---|---|---|---|
NaN | NaN | 如果其中一个值为 NaN,则结果为 NaN | |
Infinity | Infinity | Infinity | Infinity + Infinity = Infinity |
-Infinity | -Infinity | -Infinity | -Infinity + ( -Infinity) = – Infinity |
Infinity | -Infinity | NaN | Infinity + -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
Code language: JavaScript (javascript)
如果一个值为字符串、布尔值、null 或 undefined,则 JavaScript 引擎将
- 首先,使用
Number()
函数将该值转换为数字。 - 其次,执行减法。
下表显示了如何使用减法运算符与特殊值一起使用
第一个值 | 第二个值 | 结果 | 解释 |
---|---|---|---|
NaN | NaN | 如果其中一个值为 NaN,则结果为 NaN | |
Infinity | Infinity | NaN | Infinity – Infinity = NaN |
-Infinity | -Infinity | -Infinity | -Infinity – ( -Infinity) = NaN |
Infinity | -Infinity | Infinity | Infinity |
+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);
Code language: JavaScript (javascript)
输出
6
如果其中一个值不是数字,则 JavaScript 引擎将隐式地使用 Number()
函数将其转换为数字,并执行乘法。例如
let result = '5' * 2;
console.log(result);
Code language: JavaScript (javascript)
输出
10
下表显示了乘法运算符在应用于特殊值时的行为
第一个值 | 第二个值 | 结果 | 解释 |
---|---|---|---|
NaN | NaN | 如果其中一个值为 NaN,则结果为 NaN | |
Infinity | 0 | NaN | Infinity * 0 = NaN |
Infinity | 正数 | Infinity | -Infinity * 100 = -Infinity |
Infinity | 负数 | -Infinity | Infinity * (-100) = -Infinity |
Infinity | Infinity | Infinity | Infinity * Infinity = Infinity |
除法运算符 (/)
Javascript 使用斜杠 (/
) 字符来表示除法运算符。除法运算符将第一个值除以第二个值。例如
let result = 20 / 10;
console.log(result); // 2
Code language: JavaScript (javascript)
如果其中一个值不是数字,则 JavaScript 引擎将将其转换为数字以进行除法。例如
let result = '20' / 2;
console.log(result); // 10;
Code language: JavaScript (javascript)
下表显示了除法运算符在应用于特殊值时的行为
第一个值 | 第二个值 | 结果 | 解释 |
---|---|---|---|
NaN | NaN | 如果其中一个值为 NaN,则结果为 NaN | |
一个数字 | 0 | Infinity | 1/0 = Infinity |
Infinity | Infinity | NaN | Infinity / Infinity = NaN |
0 | 0 | NaN | 0/0 = NaN |
Infinity | 正数 | Infinity | Infinity / 2 = Infinity |
Infinity | 负数 | -Infinity | Infinity / -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);
Code language: JavaScript (javascript)
输出
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);
Code language: JavaScript (javascript)
输出
40
150
25
75
总结
- 使用 JavaScript 算术运算符,包括加法 (
+
)、减法 (-
)、乘法 (*
) 和除法 (/
) 执行算术运算。