浅谈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 相关文章推荐
JavaScript初学者应注意的七个细节小结
Jan 30 Javascript
解析javascript 数组以及json元素的添加删除
Jun 26 Javascript
全面详细的jQuery常见开发技巧手册
Feb 21 Javascript
javascript HTML5 Canvas实现圆盘抽奖功能
Apr 11 Javascript
jQuery实现区域打印功能代码详解
Jun 17 Javascript
JavaScript使用delete删除数组元素用法示例【数组长度不变】
Jan 17 Javascript
JavaScript中利用构造器函数模拟类的方法
Feb 16 Javascript
Vue项目引进ElementUI组件的方法
Nov 11 Javascript
js实现图片上传即时显示效果
Sep 30 Javascript
js中位数不足自动补位扩展padLeft、padRight实现代码
Apr 06 Javascript
JS数组push、unshift、pop、shift方法的实现与使用方法示例
Apr 29 Javascript
微信小程序实现列表左右滑动
Nov 19 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图片上传类带图片显示
2006/11/25 PHP
php Notice: Undefined index 错误提示解决方法
2010/08/29 PHP
使用php实现快钱支付功能(涉及到接口)
2013/07/01 PHP
PHP中ID设置自增后不连续的原因分析及解决办法
2016/08/21 PHP
JavaScript 捕获窗口关闭事件
2009/07/26 Javascript
jquery获取input表单值的代码
2010/04/19 Javascript
给超链接添加特效鼠标移动展示提示信息且随鼠标移动
2013/10/17 Javascript
js获取当月最后一天实例代码
2013/11/19 Javascript
javascript操作select元素实例分析
2015/03/27 Javascript
深入剖析JavaScript:Object类型
2016/05/10 Javascript
js精准的倒计时函数分享
2016/06/29 Javascript
Node.js实现文件上传
2016/07/05 Javascript
AngularJs中Bootstrap3 datetimepicker使用实例
2016/12/13 Javascript
ES6新特性八:async函数用法实例详解
2017/04/21 Javascript
Angular2中select用法之设置默认值与事件详解
2017/05/07 Javascript
jquery Form轻松实现文件上传
2017/05/24 jQuery
Iphone手机、安卓手机浏览器控制默认缩放大小的方法总结(附代码)
2017/08/18 Javascript
Vue 框架之键盘事件、健值修饰符、双向数据绑定
2018/11/14 Javascript
JavaScript 正则应用详解【模式、欲查、反向引用等】
2020/05/13 Javascript
[51:53]完美世界DOTA2联赛循环赛 LBZS vs DM BO2第二场 11.01
2020/11/02 DOTA
Python fileinput模块使用介绍
2014/11/30 Python
实例讲解Python中SocketServer模块处理网络请求的用法
2016/06/28 Python
浅谈利用numpy对矩阵进行归一化处理的方法
2018/07/11 Python
Python Request爬取seo.chinaz.com百度权重网站的查询结果过程解析
2019/08/13 Python
Python类中方法getitem和getattr详解
2019/08/30 Python
python PIL/cv2/base64相互转换实例
2020/01/09 Python
TensorFlow实现从txt文件读取数据
2020/02/05 Python
python爬虫数据保存到mongoDB的实例方法
2020/07/28 Python
Python爬虫设置Cookie解决网站拦截并爬取蚂蚁短租的问题
2021/02/22 Python
努比亚手机官网:nubia
2016/10/06 全球购物
浪漫婚礼主持词
2014/03/14 职场文书
2014七年级班主任工作总结
2014/12/05 职场文书
幼儿园2016年感恩节活动总结
2016/04/01 职场文书
详解Redis在SpringBoot工程中的综合应用
2021/10/16 Redis
使用RedisTemplat实现简单的分布式锁
2021/11/20 Redis
SpringBoot2零基础到精通之异常处理与web原生组件注入
2022/03/22 Java/Android