浅谈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如何给<textarea></textarea>赋值
Apr 20 Javascript
自己实现string的substring方法 人民币小写转大写,数字反转,正则优化
Sep 02 Javascript
js计算精度问题小结
Apr 22 Javascript
自动最大化窗口的Javascript代码
May 22 Javascript
jquery列表拖动排列(由项目提取相当好用)
Jun 17 Javascript
Javascript学习笔记之函数篇(五) : 构造函数
Nov 23 Javascript
JavaScript中对DOM节点的访问、创建、修改、删除
Nov 16 Javascript
jQuery对象的链式操作用法分析
May 10 Javascript
利用Javascript仿Excel的数据透视分析功能
Sep 07 Javascript
js querySelector() 使用方法
Dec 21 Javascript
Vue自定义指令拖拽功能示例
Feb 17 Javascript
js判断复选框是否选中的方法示例【基于jQuery】
Oct 10 jQuery
浏览器中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学习 函数 课件
2008/06/15 PHP
php生成唯一的订单函数分享
2015/02/02 PHP
php禁止某ip或ip地址段访问的方法
2015/02/25 PHP
php使用高斯算法实现图片的模糊处理功能示例
2016/11/11 PHP
ExtJS DOM元素操作经验分享
2013/08/28 Javascript
下雪了 javascript实现雪花飞舞
2020/08/02 Javascript
JavaScript中instanceof运算符的使用示例
2016/06/08 Javascript
js获取Get值的方法
2016/09/29 Javascript
微信小程序开发之实现选项卡(窗口顶部TabBar)页面切换
2016/11/25 Javascript
vue.js实现表格合并示例代码
2016/11/30 Javascript
原生js实现倒计时功能(多种格式调用)
2017/01/12 Javascript
React BootStrap用户体验框架快速上手
2018/03/06 Javascript
Electron autoUpdater实现Windows安装包自动更新的方法
2018/12/24 Javascript
js获取url页面id,也就是最后的数字文件名
2020/09/25 Javascript
[00:34]TI7不朽珍藏III——纯金地穴编织者饰品展示
2017/07/15 DOTA
[39:18]完美世界DOTA2联赛PWL S3 Forest vs LBZS 第二场 12.17
2020/12/19 DOTA
python中实现php的var_dump函数功能
2015/01/21 Python
Python利用Beautiful Soup模块搜索内容详解
2017/03/29 Python
Scrapy爬虫实例讲解_校花网
2017/10/23 Python
python实现停车管理系统
2018/11/30 Python
Python文件如何引入?详解引入Python文件步骤
2018/12/10 Python
python-tkinter之按钮的使用,开关方法
2019/06/11 Python
解决pyecharts在jupyter notebook中使用报错问题
2020/04/23 Python
python安装gdal的两种方法
2019/10/29 Python
Windows下Anaconda和PyCharm的安装与使用详解
2020/04/23 Python
什么是python的列表推导式
2020/05/26 Python
绝对令人的惊叹的CSS3折叠效果(3D效果)整理
2012/12/30 HTML / CSS
戴尔英国翻新电脑和电子产品:Dell UK Refurbished Computers
2019/07/30 全球购物
物流仓储实习自我鉴定
2013/09/25 职场文书
人事主管的岗位职责
2013/11/16 职场文书
客服工作职责
2013/12/11 职场文书
电子商务专业应届生求职信
2014/05/28 职场文书
学校读书活动总结
2014/06/30 职场文书
好的促销活动方案
2014/08/21 职场文书
vue实现无缝轮播效果(跑马灯)
2021/05/14 Vue.js
springboot 多数据源配置不生效遇到的坑及解决
2021/11/17 Java/Android