JavaScript 操作符(二)

180 阅读2分钟

这是我参与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数值相乘,结果是 InfinityInfinity
  • InfinityInfinity 相乘,结果是 Infinity
2. 除法

除法操作符由一个斜线符号 / 表示,执行第二个操作数除第一个操作数的计算;

var result = 1 / 2;

特殊值处理规则:

  • InfinityInfinity 除,结果是 NaN
  • 0被0除,结果是 NaN
3. 求模

求模操作符由一个百分号 % 表示;

var result = 10 % 5; // 0

特殊值处理规则:

  • 被除数是无穷大值,除数是有限大的数值,结果是 NaN
  • 被除数是有限大的数值,除数是0,结果是 NaN
  • InfinityInfinity 除,结果是 NaN;
  • 被除数是有限大的数值,除数是无穷大的数值,结果是被除数;
  • 被除数是0,结果是0;