这是我参与11月更文挑战的第14天,活动详情查看:2021最后一次更文挑战
JavaScript 用于操作数据值的操作符包括算术操作符、位操作符、关系操作符和相等操作符,它们能够适用于很多值,如字符串、数字值、布尔值。
逗号操作符
使用逗号操作符可以在一条语句中执行多个操作,逗号操作符多用于声明多个变量;还可以用于赋值,在赋值时,逗号操作符总会返回表达式中的最后一项。
var num1 = 1, num2 = 2, num3 = 3;
var num = (1, 2, 3, 4, 5, 6); // 6
赋值操作符
简单赋值操作符由等于号 = 表示,把右边的值赋给左边的变量;
var num = 10;
在等于号前添加加减操作符可以完成复合赋值操作;
var num = 10;
num += 10;
// 上面的例子相当于下面的形式:
var num = 10;
num = num + 10;
常见的操作符有:*=,/=,%=,+=,-=,<<=,>>=,>>>=
条件操作符
variable = boolean_expression ? true_value ? false_value;
基于对 boolean_expression 求值的结果,决定给变量 variable 赋什么值;
乘性操作符
JavaScript 有3个乘性操作符:乘法、除法、求模。如果某个操作数不是数值,会先使用 Number() 转成数值,空字符串会被当做0,布尔值 true 会被当做1。
1. 乘法
乘法操作符由一个星号 * 表示,计算两个数值的乘积;
var result = 1 * 2;
特殊值处理规则:
- 操作符都是数值,执行常规乘法计算;
- 有一个操作数是
NaN,结果是NaN; Infinity和0相乘,结果是NaN;Infinity和非0数值相乘,结果是Infinity或Infinity;Infinity和Infinity相乘,结果是Infinity;
2. 除法
除法操作符由一个斜线符号 / 表示,执行第二个操作数除第一个操作数的计算;
var result = 1 / 2;
特殊值处理规则:
Infinity被Infinity除,结果是NaN;- 0被0除,结果是
NaN;
3. 求模
求模操作符由一个百分号 % 表示;
var result = 10 % 5; // 0
特殊值处理规则:
- 被除数是无穷大值,除数是有限大的数值,结果是
NaN; - 被除数是有限大的数值,除数是0,结果是
NaN; Infinity被Infinity除,结果是NaN;- 被除数是有限大的数值,除数是无穷大的数值,结果是被除数;
- 被除数是0,结果是0;