微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

浅谈JavaScript中运算符的优先级

运算符优先级

JavaScript中的运算符优先级是一套规则。该规则在计算表达式时控制运算符执行的顺序。具有较高优先级的运算符先于较低优先级的运算符执行。例如,乘法的执行先于加法。

下表按从最高到最低的优先级列出JavaScript运算符。具有相同优先级的运算符按从左至右的顺序求值。


normal; word-spacing: 0px; border-collapse: collapse; border-bottom: silver 1px solid; text-transform: none; color: rgb(0,0); padding-bottom: 0px; text-align: left; padding-top: 0px; font: 14px/21px Verdana,Arial,Helvetica,sans-serif; padding-left: 0px; margin: 0px; border-spacing: 0px; border-left: silver 1px solid; widows: 1; letter-spacing: normal; padding-right: 0px; background-color: rgb(255,255,225); text-indent: 0px; -webkit-text-stroke-width: 0px"> ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px"> ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">
ottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">运算符ottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">描述ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px"> ottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">. [] ()ottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">字段访问、数组下标、函数调用以及表达式分组ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px"> ottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">++ -- - ~ ! delete new typeof voidottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">一元运算符、返回数据类型、对象创建、未定义值ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px"> ottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">* / %ottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">乘法、除法、取模ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px"> ottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">+ - +ottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">加法、减法、字符串连接ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px"> ottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px"><< >> >>>ottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">移位ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px"> ottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">< <= > >= instanceofottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">小于、小于等于、大于、大于等于、instanceofottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px"> ottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">== != === !==ottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">等于、不等于、严格相等、非严格相等ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px"> ottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">&ottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">按位与ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px"> ottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">^ottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">按位异或ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px"> ottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">|ottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">按位或ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px"> ottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">&&ottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">逻辑与ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px"> ottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">||ottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">逻辑或ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px"> ottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">?:ottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">条件ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px"> ottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">= oP=ottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">赋值、运算赋值ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px"> ottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">,ottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">多重求值

圆括号可用来改变运算符优先级所决定的求值顺序。这意味着圆括号中的表达式应在其用于表达式的其余部分之前全部被求值。

rush:js;"> z = 78 * (96 + 3 + 45)

在该表达式中有五个运算符: =,*,(),+,以及另一个 +。根据运算符优先级的规则,它们将按下面的顺序求值: (),=。

首先对圆括号内的表达式求值。圆括号中有两个加法运算符。因为两个加法运算符具有相同的优先级,从左到右求值。先将 96 和 3 相加,然后将其和与 45 相加,得到的结果为 144。 然后是乘法运算。78 乘以 144,得到结果为 11232。 A最后是赋值运算。将 11232 赋给 z。

以上所述就是本文的全部内容了,希望大家能够喜欢。

原文地址:https://www.jb51.cc/js/53495.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐