js基础知识 —— 运算符的使用规则
一、js的运算符
1. 算术运算符(+ - * / %)
- 加、减、乘、除、取余
- 注意: + 运算符, 相加时如果两边都是数字, 那么会运算数字的相加操作
- 相加时如果两边有一个不是数字的, 比如出现一个字符串, 那么运行的不是再相加, 而是拼接操作
- 拼接操作只有在 + 运算时会出现, 其他符号不出现
- 其他运算符在遇到两边有非数字类型时, 会将其转换为数字(这一步就叫做隐式转换), 然后再运算
2.赋值运算符(= += -= = /= %=)
- += 相当于自身加上一个新值, 就可以用这个 += 来优化
- 例子: a = a + 10 优化后: a += 10
- -= *= /= %=运算逻辑与 += 是完全相同的
3.比较运算符(> < >= <= == === != !==)
- 比较运算符:比较运算符两边的值之后, 返回一个 布尔值, 也就是返回一个true或者false
- 两个等号与 三个等号的区别
- 两个等号,在JS中判断时会做隐式转换, 也就是说 只会对比值是否相等, 不会对比数据类型
- 三个等号,在 JS 中也叫做全等, 在判断的时候不会做隐式转换, 也就是说, 在对比时除了会对比值是否相等, 还会判断数据类型
- 判断不相等 (!= !==)
- 共同点: 判断符号两边的值是否不相等, 不相等时返回 true 相等时返回 false
- 不同点: != 不会对比数据类型 !== 会对比数据类型
4.逻辑运算符(&& || !)
- && 逻辑与(相当于并且的意思)
- 逻辑与运算符的特性:
- 符号左边的值 如果为真(也就是转为布尔值后为true), 那么会返回 符号右边的值
- 如果为 假(也就是转为布尔值后为 false), 那么会将自身返回出去
- 逻辑与运算符的特性:
- || 逻辑或(相当于或者的意思)
- 逻辑或运算符的特性:
- 符号左边的值 如果为真, 那么会将自身返回出去
- 如果为假, 那么会将符号右侧的值返回出去
- 逻辑或运算符的特性:
- ! 逻辑非(取反, 反义词)
- 逻辑非运算符的特性:
- 语法: !值
- 返回值: 将值转换为布尔值之后, 做一个取反的操作, 也就是 true 改变false, false改变为 true
- 逻辑非运算符的特性:
5.自增自减运算符(++值 值++ --值 值--)
- 自增运算符的能力就是将自身的值 +1
- 减运算符的能力就是将自身的值 -1
- 注:自增自减运算符 写法不同, 运行结果也不同
- ++/--值(++/--在前)
- 如果 ++/-- 在前, 那么会先将自身的值 +1/-1,然后参与其他的
- 值++/--(++/--在后)
- 如果 ++/--在后, 那么会先参与周围的运算, 然后将自身的值 +1
二、运算符的优先级
- 按从高到低的顺序如下:
-
- 小括号优先级最高
-
- 一元运算符++ -- !(!除外 属于逻辑运算符,但优先级较高)
-
- 算术运算符 先* / % 后+ -
-
- 比较运算符(大于小于) > >= < <=
-
- 比较运算符(等于不等于) == != === !==
-
- 逻辑运算符 先&& 后||
-
- 赋值运算符
-