运算符
也叫操作符, 通过运算符可以对一个或多个值进行运算,并获取运算结果,主要告诉程序执行特定算术或逻辑操作的符号, 例如告诉程序, 某两个数相加, 相减等
分类
- 按照功能划分: 算术运算符, 位运算符, 关系运算符, 逻辑运算符
- 按照操作数个数划分:
单目运算(只有一个操作数 如 : i++ !),
双目运算(有两个操作数 如 : a+b;),
三目运算(三目运算也称为问号表达式 a>b ? 1 : 0;)
- 算术运算符主要是加减乘除取余等等,大致和其他程序语言的用法一致
- 一元运算符指+或-,对于非Number类型的值,会将先转换为Number,然后再运算,+号不会对数字产生影响,-号相当于取反
- 赋值运算符要注意左边只能是变量,格式为格式: 变量 = 数据
- 自增/自减运算主要注意无论运算符号在前还是在后, 变量在自身基础上都会改变,并且要仔细观察算术符号的位置,是先运算还是先取值
- 逻辑运算符主要涉及与运算和或运算,对于非Boolean类型的数值, 逻辑与和或都会自动将其转换为Boolean类型来判断,对于逻辑"与"来说:如果条件A不成立, 则返回条件A的数值本身,如果条件A成立, 不管条件B成不成立都返回条件B数值本身,对于逻辑"或"来说:如果条件A不成立, 则不管条件B成不成立都返回条件B数值本身,如果条件A成立, 则返回条件A的数值本身
- 三目运算符的格式: 条件表达式 ? 语句1 : 语句2;如果条件的表达式的求值结果是一个非布尔值, 会将其转换为布尔值然后在运算,并且注意条件运算符?和:是一对运算符,不能分开单独使用
- 此外还有关系运算符、逗号运算符等非"常用“运算符,比较简单,大家如果想了解可以参考菜鸟
运算符的结合性
JavaScript中各种运算符的结合性分为两种: 左结合性(自左至右) 和 右结合性(自右至左)
- 自左至右,即先左后右
例如表达式: x - y + z;
则y 应先与“-”号结合,执行 x-y 运算,然后再执行+z 的运算。
这种自左至右的结合 方向就称为“左结合性”。 - 自右至左,即先右后左
例如:如x = y = z = 10
由于“=”的 右结合性,应先执行z = 10; 再执行y = z 再执行x = y运算。
运算符的优先级
-
JavaScript中,运算符的运算优先级共分为15 级。1 级最高,15 级最低。
在表达式中,优先级较高的先于优先级较低的进行运算。 -
先计算优先级高的
-
优先级相同则左结合计算
-
可以使用()来改变优先级
image.png -
参考
网易云js课程
网友评论