本文摘抄自:【运算符优先级 - JavaScript | MDN】
运算符的优先级决定了表达式中运算执行的先后顺序,优先级高的运算符最先被执行。
关联性关联性决定了拥有相同优先级的运算符的执行顺序。
考虑下面这个表达式:
a OP b OP c; 左关联(左到右):相当于把左边的子表达式加上小括号 (a OP b) OP c右关联(右到左):相当于 a OP (b OP c)比如:赋值运算符是右关联的,所以你可以这么写
a = b = 5;结果 a 和 b 的值都会成为5。
这是因为赋值运算符的返回结果就是赋值运算符右边的那个值,具体过程是:b被赋值为5,然后a也被赋值为 b=5 的返回值,也就是5。
示例 3 > 2 && 2 > 1// return true3 > 2 > 1// 返回 false,因为 3 > 2 是 true,并且 true > 1 is false// 加括号可以更清楚:(3 > 2) > 1 汇总表下面的表将所有运算符按照优先级的不同从高(20)到低(1)排列。