浅谈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 相关文章推荐
自适应高度框架 ----属个人收藏内容
Jan 22 Javascript
JavaScript中的Window窗口对象
Jan 16 Javascript
JS实现简单的Canvas画图实例
Jul 04 Javascript
js实现鼠标滚轮控制图片缩放效果的方法
Feb 20 Javascript
Angularjs material 实现搜索框功能
Mar 08 Javascript
js字符串截取函数slice、substring和substr的比较
May 17 Javascript
解析微信JS-SDK配置授权,实现分享接口
Dec 09 Javascript
Bootstrap导航简单实现代码
Mar 06 Javascript
原生JS实现左右箭头选择日期实例代码
Mar 14 Javascript
JS中IP地址与整数相互转换的实现代码
Apr 10 Javascript
详解Vue中状态管理Vuex
May 11 Javascript
vue element项目引入icon图标的方法
Jun 06 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/10/09 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
PHP有序表查找之插值查找算法示例
2018/02/10 PHP
thinkphp5实现无限级分类
2019/02/18 PHP
利用onresize使得div可以随着屏幕大小而自适应的代码
2010/01/15 Javascript
jquery实现图片水平滚动效果代码分享
2015/08/26 Javascript
基于Jquery代码实现支持PC端手机端幻灯片代码
2015/11/17 Javascript
jQuery Mobile页面返回不需要重新get
2016/04/26 Javascript
jQuery.form插件的使用及跨域异步上传文件
2016/04/27 Javascript
全面解析Bootstrap中Carousel轮播的使用方法
2016/06/13 Javascript
angular仿支付宝密码框输入效果
2017/03/25 Javascript
给vue项目添加ESLint的详细步骤
2017/09/29 Javascript
JavaScript如何获取一个元素的样式信息
2019/07/29 Javascript
使用vuex较为优雅的实现一个购物车功能的示例代码
2019/12/09 Javascript
vue或react项目生产环境去掉console.log的操作
2020/09/02 Javascript
用Python写的图片蜘蛛人代码
2012/08/27 Python
Python简单实现子网掩码转换的方法
2016/04/13 Python
Python文件操作之合并文本文件内容示例代码
2017/09/19 Python
Django中Forms的使用代码解析
2018/02/10 Python
Python中.join()和os.path.join()两个函数的用法详解
2018/06/11 Python
Python实现的建造者模式示例
2018/08/06 Python
Python3数字求和的实例
2019/02/19 Python
Python常用爬虫代码总结方便查询
2019/02/25 Python
django项目登录中使用图片验证码的实现方法
2019/08/15 Python
Pandas操作CSV文件的读写实现方法
2019/11/13 Python
解决pycharm 安装numpy失败的问题
2019/12/05 Python
Mysql数据库反向生成Django里面的models指令方式
2020/05/18 Python
树莓派4B安装Tensorflow的方法步骤
2020/07/16 Python
Python 实现国产SM3加密算法的示例代码
2020/09/21 Python
黑猩猩商店:The Chimp Store
2020/02/12 全球购物
Sunglass Hut巴西网上商店:男女太阳镜
2020/10/04 全球购物
2014植树节活动总结
2014/03/11 职场文书
会计师事务所实习证明
2014/11/16 职场文书
《小乌鸦爱妈妈》教学反思
2016/02/19 职场文书
go语言map与string的相互转换的实现
2021/04/07 Golang
如何用Python搭建gRPC服务
2021/06/30 Python