浅谈JavaScript中运算符的优先级


Posted in Javascript onJuly 07, 2015

运算符优先级

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

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

运算符 描述
. [] () 字段访问、数组下标、函数调用以及表达式分组
++ -- - ~ ! delete new typeof void 一元运算符、返回数据类型、对象创建、未定义值
* / % 乘法、除法、取模
+ - + 加法、减法、字符串连接
> >>> 移位
>= instanceof 小于、小于等于、大于、大于等于、instanceof
== != === !== 等于、不等于、严格相等、非严格相等
& 按位与
^ 按位异或
| 按位或
&& 逻辑与
|| 逻辑或
?: 条件
= oP= 赋值、运算赋值
, 多重求值

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

z = 78 * (96 + 3 + 45)

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

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

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

Javascript 相关文章推荐
angularjs中的e2e测试实例
Dec 06 Javascript
基于jQuery插件实现环形图标菜单旋转切换特效
May 15 Javascript
Jquery简单实现GridView行高亮的方法
Jun 15 Javascript
js查看一个函数的执行时间实例代码
Sep 12 Javascript
如何解决easyui自定义标签 datagrid edit combobox 手动输入保存不上
Dec 26 Javascript
JavaScript实现图片滑动切换的代码示例分享
Mar 06 Javascript
JS上传图片预览插件制作(兼容到IE6)
Aug 07 Javascript
纯JS单页面赛车游戏制作代码分享
Mar 03 Javascript
vuejs点击class变化的实例
Sep 05 Javascript
基于AngularJs select绑定数字类型的问题
Oct 08 Javascript
浅谈webpack性能榨汁机(打包速度优化)
Jan 09 Javascript
用JS实现飞机大战小游戏
Jun 09 Javascript
浏览器中url存储的JavaScript实现
Jul 07 #Javascript
浅谈JavaScript中的作用域和闭包问题
Jul 07 #Javascript
深入分析下javascript中的[]()+!
Jul 07 #Javascript
javascript实现的多个层切换效果通用函数实例
Jul 06 #Javascript
javascript动态添加删除tabs标签的方法
Jul 06 #Javascript
Jsonp post 跨域方案
Jul 06 #Javascript
javascript运动详解
Jul 06 #Javascript
You might like
ob_start(),ob_start('ob_gzhandler')使用
2006/12/25 PHP
那些年一起学习的PHP(一)
2012/03/21 PHP
Symfony学习十分钟入门经典教程
2016/02/03 PHP
基于PHP实现短信验证码发送次数限制
2020/07/11 PHP
Javascript面向对象编程(三) 非构造函数的继承
2011/08/28 Javascript
JS实现遮罩层效果的简单实例
2013/11/12 Javascript
js判断60秒以及倒计时示例代码
2014/01/24 Javascript
js打开新窗口方法整理
2014/02/17 Javascript
javascript对JSON数据排序的3个例子
2014/04/12 Javascript
jquery中map函数遍历数组用法实例
2015/05/18 Javascript
BootStrap下拉框在firefox浏览器界面不友好的解决方案
2016/08/18 Javascript
jQuery实现鼠标选中文字后弹出提示窗口效果【附demo源码】
2016/09/05 Javascript
ionic进入多级目录后隐藏底部导航栏(tabs)的完美解决方案
2016/11/23 Javascript
微信开发 JS-SDK 6.0.2 经常遇到问题总结
2016/12/08 Javascript
用nodejs搭建websocket服务器
2017/01/23 NodeJs
通过一个简单的例子学会vuex与模块化
2017/11/22 Javascript
浅谈vuepress 踩坑记
2018/04/18 Javascript
NodeJS实现自定义流的方法
2018/08/01 NodeJs
Vue中 key keep-alive的实现原理
2018/09/18 Javascript
axios对请求各种异常情况处理的封装方法
2018/09/25 Javascript
实例分析vue循环列表动态数据的处理方法
2018/09/28 Javascript
vue中的v-model原理,与组件自定义v-model详解
2020/08/04 Javascript
vue vant中picker组件的使用
2020/11/03 Javascript
[01:16]2014DOTA2 TI专访C9战队EE:中国五强中会占三席
2014/07/10 DOTA
详细解析Python当中的数据类型和变量
2015/04/25 Python
在Django的通用视图中处理Context的方法
2015/07/21 Python
详细介绍Python的鸭子类型
2016/09/12 Python
对python多线程中Lock()与RLock()锁详解
2019/01/11 Python
css3实现3D色子翻转特效
2014/12/23 HTML / CSS
电子商务专员岗位职责
2013/12/11 职场文书
医院护士党的群众路线教育实践活动对照检查材料思想汇报
2014/10/04 职场文书
2014年药房工作总结
2014/11/22 职场文书
护理培训心得体会
2016/01/22 职场文书
MySQL数据库索引的最左匹配原则
2021/11/20 MySQL
Redis官方可视化工具RedisInsight安装使用教程
2022/04/19 Redis
zabbix 代理服务器的部署与 zabbix-snmp 监控问题
2022/07/15 Servers