浅谈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 获取select(多选下拉)中所选值的示例代码
Aug 02 Javascript
js实现ArrayList功能附实例代码
Oct 29 Javascript
基于jQuery实现自动轮播旋转木马特效
Nov 02 Javascript
HTML5游戏引擎LTweenLite实现的超帅动画效果(附demo源码下载)
Jan 26 Javascript
使用Sticky组件实现带sticky效果的tab导航和滚动导航的方法
Mar 22 Javascript
JavaScript制作简易计算器(不用eval)
Feb 05 Javascript
Angular1.x自定义指令实例详解
Mar 01 Javascript
JS实现前端缓存的方法
Sep 21 Javascript
微信小程序版翻牌小游戏
Jan 26 Javascript
vue和react等项目中更简单的实现展开收起更多等效果示例
Feb 22 Javascript
vue-cli3.0 特性解读
Apr 22 Javascript
Jquery Datatables的使用详解
Jan 30 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实现的SSO单点登录系统接入功能示例分析
2016/10/12 PHP
脚本收藏iframe
2006/07/21 Javascript
JavaScript高级程序设计(第3版)学习笔记7 js函数(上)
2012/10/11 Javascript
Json字符串转换为JS对象的高效方法实例
2013/05/01 Javascript
Javascript和HTML5利用canvas构建Web五子棋游戏实现算法
2013/07/17 Javascript
排序算法的javascript实现与讲解(99js手记)
2014/09/28 Javascript
使用DNode实现php和nodejs之间通信的简单实例
2015/07/06 NodeJs
整理Javascript流程控制语句学习笔记
2015/11/29 Javascript
JavaScript 弹出子窗体并返回结果到父窗体的实现代码
2016/05/28 Javascript
解决同一页面中两个iframe互相调用jquery,js函数的方法
2016/12/12 Javascript
Javacript中自定义的map.js  的方法
2017/11/26 Javascript
JS 使用 window对象的print方法实现分页打印功能
2018/05/16 Javascript
通过封装scroll.js 获取滚动条的值
2018/07/13 Javascript
JS事件绑定的常用方式实例总结
2019/03/02 Javascript
vue setInterval 定时器失效的解决方式
2020/07/30 Javascript
[02:28]DOTA2英雄基础教程 灰烬之灵
2013/12/19 DOTA
[03:57]《不朽》——2015DOTA2国际邀请赛—中国军团出征主题曲MV
2015/07/15 DOTA
[02:15]你好,这就是DOTA!
2015/08/05 DOTA
浅谈python为什么不需要三目运算符和switch
2016/06/17 Python
python修改txt文件中的某一项方法
2018/12/29 Python
Flask框架模板渲染操作简单示例
2019/07/31 Python
Python 类,property属性(简化属性的操作),@property,property()用法示例
2019/10/12 Python
python 实现将Numpy数组保存为图像
2020/01/09 Python
解决tensorflow添加ptb库的问题
2020/02/10 Python
基于Python第三方插件实现西游记章节标注汉语拼音的方法
2020/05/22 Python
python开根号实例讲解
2020/08/30 Python
如何以Winsows Service方式运行JupyterLab
2020/08/30 Python
ebookers英国:隶属全球最大的在线旅游公司Expedia
2017/12/28 全球购物
如何用Java实现列出某个目录下的所有子目录
2015/07/20 面试题
婚礼主持词
2014/03/13 职场文书
新婚姻法离婚协议书范文
2014/11/30 职场文书
大学生入党自荐书
2015/03/05 职场文书
幼儿园小班教学反思
2016/03/03 职场文书
解决Go gorm踩过的坑
2021/04/30 Golang
在 SQL 语句中处理 NULL 值的方法
2021/06/07 SQL Server
redis击穿 雪崩 穿透超详细解决方案梳理
2022/03/17 Redis