运算符优先级是指多个运算符放在一起进行运算时,优先使用哪个运算符。例如表达式“1+2*3”的结果是7,而不是9,因为乘法比加法的优先级高。
如果运算符的优先级相同,则需要按照结合方向来决定运算顺序。例如,乘法运算符是向左结合,所以2*3*4等价于(2*3)*4;赋值运算符“=”是向右结合,所以a=b=c等价于a=(b=c),即先把c的值赋给b,再把b的值赋给a。
本书建议通过增加小括号来明确显示运算符的优先级,从而增强程序的可读性。JavaScript运算符的优先级与结合性如表2-11所示。
表2-11 运算符的优先级与结合性
【例2-6】运算符的优先级与结合性
例2-6在Chrome浏览器控制台中的输出结果如图2-8所示。
图2-8 例2-6的输出结果