浅谈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 相关文章推荐
js监听表单value的修改同步问题,跨浏览器支持
Dec 31 Javascript
js获得地址栏?问号后参数的方法
Aug 08 Javascript
jQuery.parseJSON(json)将JSON字符串转换成js对象
Jul 27 Javascript
什么是MEAN?JavaScript编程中的MEAN是什么意思?
Dec 18 Javascript
封装属于自己的JS组件
Jan 27 Javascript
AngularJS实现在ng-Options加上index的解决方法
Nov 03 Javascript
BootStrapTable 单选及取值的实现方法
Jan 10 Javascript
vue2.0实现音乐/视频播放进度条组件
Jun 06 Javascript
CKEditor4配置与开发详细中文说明文档
Oct 08 Javascript
vue中轮训器的使用
Jan 27 Javascript
vue使用过滤器格式化日期
Jan 20 Vue.js
react antd实现动态增减表单
Jun 03 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
无数据库的详细域名查询程序PHP版(1)
2006/10/09 PHP
PHP表单提交表单名称含有点号(.)则会被转化为下划线(_)
2011/12/14 PHP
codeigniter自带数据库类使用方法说明
2014/03/25 PHP
PHP模板引擎smarty详细介绍
2015/05/26 PHP
使用ThinkPHP的自动完成实现无限级分类实例详解
2016/09/02 PHP
使用PHPUnit进行单元测试并生成代码覆盖率报告的方法
2019/03/08 PHP
extjs form textfield的隐藏方法
2008/12/29 Javascript
js左侧多级菜单动态的解决方案
2010/02/01 Javascript
JS 进度条效果实现代码整理
2011/05/21 Javascript
js+css 实现遮罩居中弹出层(随浏览器窗口滚动条滚动)
2013/12/11 Javascript
AngularJS通过$sce输出html的方法
2016/09/22 Javascript
利用浮层使select不可选的实现方法
2016/12/03 Javascript
详解layui弹窗父子窗口之间传参数的方法
2018/01/16 Javascript
解决Angular2 router.navigate刷新页面的问题
2018/08/31 Javascript
jQuery.validate.js表单验证插件的使用代码详解
2018/10/22 jQuery
给localStorage设置一个过期时间的方法分享
2018/11/06 Javascript
使用layer模态框给新页面传值的方法
2019/09/27 Javascript
[01:51]2014DOTA2国际邀请赛 这个赛场没有失败者VGTi5再见
2014/07/23 DOTA
深入解析Python中的list列表及其切片和迭代操作
2016/03/13 Python
Flask之flask-script模块使用
2018/07/26 Python
python仿抖音表白神器
2019/04/08 Python
PyQt5固定窗口大小的方法
2019/06/18 Python
python 处理微信对账单数据的实例代码
2019/07/19 Python
python tornado使用流生成图片的例子
2019/11/18 Python
Python高级特性之闭包与装饰器实例详解
2019/11/19 Python
tensorflow 获取checkpoint中的变量列表实例
2020/02/11 Python
python爬取代理ip的示例
2020/12/18 Python
使用html5 canvas创建太空游戏的示例
2014/05/08 HTML / CSS
购买澳大利亚最好的服装和内衣在线:BONDS
2016/10/14 全球购物
Chantelle仙黛尔内衣美国官网:法国第一品牌内衣
2018/07/26 全球购物
2014年四风个人对照检查及整改措施
2014/10/28 职场文书
2014年小学数学工作总结
2014/12/12 职场文书
2015年项目工作总结
2015/04/29 职场文书
20180830晚上第一届KSL半决赛 雨神vs解冻(二龙 三炮解说)
2022/04/01 星际争霸
PYTHON InceptionV3模型的复现详解
2022/05/06 Python
插件导致ECharts被全量引入的坑示例解析
2022/09/23 Javascript