1.算术运算符
- 加法运算符:
x + y - 减法运算符:
x - y - 乘法运算符:
x * y - 除法运算符:
x / y - 指数运算符:
x ** y - 余数运算符:
x % y - 自增运算符:
++x或者x++ - 自减运算符:
--x或者x-- - 数值运算符:
+x - 负数值运算符:
-x1.1加法运算符
加法运算符(+)是最常见的运算符,用来求两个数值的和
JavaScript 允许非数值的相加1 + 1 // 2
上面代码中,第一行是两个布尔值相加,第二行是数值与布尔值相加。这两种情况,布尔值都会自动转成数值,然后再相加true + true // 21 + true // 2
比较特殊的是,如果是两个字符串相加,这时加法运算符会变成连接运算符,返回一个新的字符串,将两个原字符串连接在一起
加法运算符是在运行时决定,到底是执行相加,还是执行连接。也就是说,运算子的不同,导致了不同的语法行为,这种现象称为“重载”(overload)。由于加法运算符存在重载,可能执行两种运算,使用的时候必须很小心'a' + 'bc' // "abc"1 + 'a' // "1a"
除了加法运算符,其他算术运算符(比如减法、除法和乘法)都不会发生重载。它们的规则是:所有运算子一律转为数值,再进行相应的数学运算'3' + 4 + 53 + 4 + '5'
1 - '2' // -11 * '2' // 21 / '2' // 0.5
2.比较运算符
>大于运算符<小于运算符<=小于或等于运算符>=大于或等于运算符==相等运算符===严格相等运算符!=不相等运算符!==严格不相等运算符
运算符比较的规则:NaN进行任何比较均返回false,在同为字符串时进行字典比较,否则通过隐式转换成数值类型进行比较3.布尔运算符
● 取反运算符:!
● 且运算符:&&
● 或运算符:||
● 三元运算符:?:4.二进制运算符
5.运算顺序
