Javascript算符的优先级介绍


Posted in Javascript onMarch 20, 2013

JavaScript中的运算符优先级是一套规则。该规则在计算表达式时控制运算符执行的顺序。具有较高优先级的运算符先于较低优先级的运算符执行。例如,乘法的执行先于加法。

下表按从最高到最低的优先级列出JavaScript运算符。具有相同优先级的运算符按从左至右的顺序求值。

运算符 描述
. [] () 字段访问、数组下标、函数调用以及表达式分组
++ -- - ~ ! delete new typeof void 一元运算符、返回数据类型、对象创建、未定义值
* / % 乘法、除法、取模
+ - + 加法、减法、字符串连接
> >>> 移位
>= instanceof 小于、小于等于、大于、大于等于、instanceof
== != === !== 等于、不等于、严格相等、非严格相等
& 按位与
^ 按位异或
| 按位或
&& 逻辑与
|| 逻辑或
?: 条件
= oP= 赋值、运算赋值
, 多重求值

圆括号可用来改变运算符优先级所决定的求值顺序。这意味着圆括号中的表达式应在其用于表达式的其余部分之前全部被求值。

z = 78 * (96 + 3 + 45)

在该表达式中有五个运算符: =, *, (), +, 以及另一个 +。根据运算符优先级的规则,它们将按下面的顺序求值: (), +, +, *, =。

首先对圆括号内的表达式求值。圆括号中有两个加法运算符。因为两个加法运算符具有相同的优先级,从左到右求值。先将 96 和 3 相加,然后将其和与 45 相加,得到的结果为 144。
然后是乘法运算。78 乘以 144,得到结果为 11232。
A最后是赋值运算。将 11232 赋给 z。

===操作符: 要是两个值类型不同,返回false 要是两个值都是number类型,并且数值相同,返回true 要是两个值都是stirng,并且两个值的String内容相同,返回true 要是两个值都是true或者都是false,返回true 要是两个值都是指向相同的Object,Arraya或者function,返回true 要是两个值都是null或者都是undefined,返回true ==操作符: 如果两个值具有相同类型,会进行===比较,返回===的比较值 如果两个值不具有相同类型,也有可能返回true 如果一个值是null另一个值是undefined,返回true 如果一个值是string另个是number,会把string转换成number再进行比较 如果一个值是true,会把它转成1再比较,false会转成0 如果一个值是Object,另一个是number或者string,会把Object利用 valueOf()或者toString()转换成原始类型再进行比较

详细出处参考:https://3water.com/article/17542.htm

Javascript 相关文章推荐
图片onload事件触发问题解决方法
Jul 31 Javascript
基于jquery库的tab新形式使用
Nov 16 Javascript
JavaScript操作XML文件之XML读取方法
Jun 09 Javascript
AngularJS使用ngOption实现下拉列表的实例代码
Jan 23 Javascript
js拖拽功能实现代码解析
Nov 28 Javascript
利用canvas实现的加载动画效果实例代码
Jul 05 Javascript
ES6中的Promise代码详解
Oct 09 Javascript
angular实现页面打印局部功能的思考与方法
Apr 13 Javascript
vue 点击按钮实现动态挂载子组件的方法
Sep 07 Javascript
Vuex持久化插件(vuex-persistedstate)解决刷新数据消失的问题
Apr 16 Javascript
VUE单页面切换动画代码(全网最好的切换效果)
Oct 31 Javascript
JavaScript中的全局属性与方法深入解析
Jun 14 Javascript
jQuery.validate 常用方法及需要注意的问题
Mar 20 #Javascript
如何用js控制frame的隐藏或显示的解决办法
Mar 20 #Javascript
事件冒泡是什么如何用jquery阻止事件冒泡
Mar 20 #Javascript
jQuery对象和Javascript对象之间转换的实例代码
Mar 20 #Javascript
jquery的ajax请求全面了解
Mar 20 #Javascript
js控制滚动条缓慢滚动到顶部实现代码
Mar 20 #Javascript
JSON+JavaScript处理JSON的简单例子
Mar 20 #Javascript
You might like
php提交表单发送邮件的方法
2015/03/20 PHP
yii2 modal弹窗之ActiveForm ajax表单异步验证
2016/06/13 PHP
JS鼠标事件大全 推荐收藏
2011/11/01 Javascript
从面试题学习Javascript 面向对象(创建对象)
2012/03/30 Javascript
使用JS CSS去除IE链接虚线框的三种方法
2013/11/14 Javascript
js生成动态表格并为每个单元格添加单击事件的方法
2014/04/14 Javascript
jQuery.prop() 使用详解
2015/07/19 Javascript
js实现图片放大和拖拽特效代码分享
2015/09/05 Javascript
jQuery Raty 一款不错的星级评分插件
2016/08/24 Javascript
微信小程序教程系列之设置标题栏和导航栏(7)
2020/06/29 Javascript
基于ajax和jsonp的原生封装(实例)
2017/10/16 Javascript
Nginx 配置多站点vhost 的方法
2018/01/07 Javascript
vue组件实现弹出框点击显示隐藏效果
2020/10/26 Javascript
Node.js+Express+Mysql 实现增删改查
2019/04/03 Javascript
js实现web调用摄像头 js截取视频画面
2019/04/21 Javascript
elementUI Tree 树形控件的官方使用文档
2019/04/25 Javascript
深入了解JavaScript 私有化
2019/05/30 Javascript
Json实现传值到后台代码实例
2020/06/30 Javascript
使用python编写android截屏脚本双击运行即可
2014/07/21 Python
用Python制作在地图上模拟瘟疫扩散的Gif图
2015/03/31 Python
详解如何使用Python编写vim插件
2017/11/28 Python
Django model反向关联名称的方法
2018/12/15 Python
浅谈Python反射 & 单例模式
2019/03/21 Python
详解Python计算机视觉 图像扭曲(仿射扭曲)
2019/03/27 Python
Python 静态方法和类方法实例分析
2019/11/21 Python
python 下载文件的多种方法汇总
2020/11/17 Python
使用django自带的user做外键的方法
2020/11/30 Python
纯CSS3+DIV实现小三角形边框效果的示例代码
2020/08/03 HTML / CSS
expedia比利时:预订航班+酒店并省钱
2018/07/13 全球购物
初中生三年学习生活的自我评价
2013/11/03 职场文书
化学专业毕业生自荐信
2013/11/15 职场文书
汽车队司机先进事迹材料
2014/02/01 职场文书
大连导游词
2015/02/12 职场文书
Python中快速掌握Data Frame的常用操作
2021/03/31 Python
mysql死锁和分库分表问题详解
2021/04/16 MySQL
Win11 KB5015814遇安装失败 影响开始菜单性能解决方法
2022/07/15 数码科技