浅谈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 Prototype对象
Jan 07 Javascript
jquery实现的元素的left增加N像素 鼠标移开会慢慢的移动到原来的位置
Mar 21 Javascript
理解Javascript_11_constructor实现原理
Oct 18 Javascript
javascript快速排序算法详解
Sep 17 Javascript
$("").click与onclick的区别示例介绍
Sep 25 Javascript
基于百度地图实现产品销售的单位位置查看功能设计与实现
Oct 21 Javascript
JS 实现banner图片轮播效果(鼠标事件)
Aug 04 Javascript
客户端(vue框架)与服务器(koa框架)通信及服务器跨域配置详解
Aug 26 Javascript
详解如何创建并发布一个 vue 组件
Nov 08 Javascript
vue-cli项目使用mock数据的方法(借助express)
Apr 15 Javascript
vue拖拽组件 vuedraggable API options实现盒子之间相互拖拽排序
Jul 08 Javascript
Vue 实现从文件中获取文本信息的方法详解
Oct 16 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魔术变量用法实例详解
2014/11/13 PHP
PHP版本常用的排序算法汇总
2015/12/20 PHP
redis+php实现微博(三)微博列表功能详解
2019/09/23 PHP
IE8下关于querySelectorAll()的问题
2010/05/13 Javascript
jquery中的on方法使用介绍
2013/12/29 Javascript
JS获取select的value和text值的简单实例
2014/02/26 Javascript
javascript的tab切换原理与效果实现方法
2015/01/10 Javascript
jQuery实现元素拖拽并cookie保存顺序的方法
2016/02/20 Javascript
基于JavaScript实现类似于百度学术高级检索功能
2016/03/02 Javascript
jQuery中借助deferred来请求及判断AJAX加载的实例讲解
2016/05/24 Javascript
jQuery Dialog 打开时自动聚焦的解决方法(两种方法)
2016/11/24 Javascript
原生Javascript插件开发实践
2017/01/18 Javascript
Vue2.0 UI框架ElementUI使用方法详解
2017/04/14 Javascript
微信小程序实现添加手机联系人功能示例
2017/11/30 Javascript
Vue.js项目中管理每个页面的头部标签的两种方法
2018/06/25 Javascript
vue.js实现会动的简历(包含底部导航功能,编辑功能)
2019/04/08 Javascript
layui表格 返回的数据状态异常的解决方法
2019/09/10 Javascript
vue中element 的upload组件发送请求给后端操作
2020/09/07 Javascript
linecache模块加载和缓存文件内容详解
2018/01/11 Python
python微信跳一跳系列之色块轮廓定位棋盘
2018/02/26 Python
Python面向对象思想与应用入门教程【类与对象】
2019/04/12 Python
win10环境下配置vscode python开发环境的教程详解
2019/10/16 Python
用python写一个带有gui界面的密码生成器
2020/11/06 Python
如何用Python进行时间序列分解和预测
2021/03/01 Python
html5+css3气泡组件的实现
2014/11/21 HTML / CSS
详解html5 canvas常用api总结(二)--绘图API
2016/12/14 HTML / CSS
找到不普通的东西:Bonanza
2016/10/20 全球购物
Hanky Panky官方网站:内衣和睡衣
2019/07/25 全球购物
乌克兰鞋类购物网站:Eobuv.com.ua
2020/11/28 全球购物
Zatchels官网:英国剑桥包品牌
2021/01/12 全球购物
大学生优秀的自我评价分享
2013/10/22 职场文书
女大学生自我鉴定
2013/12/09 职场文书
求职信怎么写范文
2014/05/26 职场文书
教师反腐倡廉演讲稿
2014/09/03 职场文书
2016年小学生寒假总结
2015/10/10 职场文书
2016廉洁从政心得体会
2016/01/19 职场文书