算术运算符 | + - * / % | 加减乘除、取余 |
递增、递减运算符 | ++ -- | 递增、递减 |
比较运算符 | > < >= <= == != === !== | 等于、不等于、全等于、不全等于 |
逻辑运算符 | && || ! | 与 或 非 |
赋值运算符 | = += -= *= /= %= | 等于、加等于 |
运算符优先级
- 小括号 ()
- 一元运算符 ++ -- !
- 算术运算符 先* / % 后+ -
- 关系运算符 > < >= <=
- 相等运算符 == != === !==
- 逻辑运算符 先 && 后 ||
- 赋值运算符 =
- 逗号运算符 ,
♦算术运算符+ - * / %
浮点数的精度问题:不要直接判断两个浮点数是否相等。
表达式:由数字、运算符、变量组成的式子。
返回值:表达式最终都会有一个结果。
console.log(0.1 + 0.2); //0.30000000000000004
console.log(0.07 * 100); //7.000000000000001
♦递增运算符 ++
后置递增 num++ 先返回值 后自加
前置递增 ++num 先自加 后返回值
var num = 10;
console.log(num++); //10
console.log(num); //11
var num =10
console.log(++num); //11
console.log(num); //11
♦比较运算符 > < >= <= == != === !==
console.log(18 == '18'); //true 有隐式转换
console.log(18 === '18'); //false 全等要求数据类型要相同
♦逻辑运算符 && || !
真&&真 //真
真|| 假 //真
!真 //假
结果为真的情况:真与真,真或假,真或真,非假
&&的表达式中有假,结果必不会为真,必会为假
||的表达式中有真,结果必会为真
逻辑中断:有多个表达式时,当左边的表达式可以确定结果时,就不在继续运算右边的值。
console.log(0 && 456); //0 &&的表达式中有假,结果必不会为真,必会为假
console.log(123 && 456); //456
console.log(123 || 456); //123 ||的表达式中有真,结果必会为真
console.log(0 || 456); //456
♦赋值运算符 = += -= *= /= %=
var age = 5 ,a = 5;
age += 5;
a = a + 5;
console.log(age); //10
console.log(a); //10