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 相关文章推荐
IE iframe的onload方法分析小结
Jan 07 Javascript
jquery实现预览提交的表单代码分享
May 21 Javascript
JS代码实现table数据分页效果
May 26 Javascript
微信小程序 地图(map)实例详解
Nov 16 Javascript
vue 中自定义指令改变data中的值
Jun 02 Javascript
详解如何将 Vue-cli 改造成支持多页面的 history 模式
Nov 20 Javascript
mockjs,json-server一起搭建前端通用的数据模拟框架教程
Dec 18 Javascript
layer.confirm取消按钮绑定事件的方法
Aug 17 Javascript
详解webpack+ES6+Sass搭建多页面应用
Nov 05 Javascript
JavaScript遍历DOM元素的常见方式示例
Feb 16 Javascript
node.JS二进制操作模块buffer对象使用方法详解
Feb 06 Javascript
vue实现下载文件流完整前后端代码
Nov 17 Vue.js
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
第三节 定义一个类 [3]
2006/10/09 PHP
PHPlet在Windows下的安装
2006/10/09 PHP
php mail to 配置详解
2014/01/16 PHP
Mac版PhpStorm之XAMPP整合apache服务器配置的图文教程详解
2016/10/13 PHP
php实现有序数组旋转后寻找最小值方法
2018/09/27 PHP
解决Jquery load()加载GB2312页面时出现乱码的两种方案
2013/09/10 Javascript
屏蔽IE弹出"您查看的网页正在试图关闭窗口,是否关闭此窗口"的方法
2013/12/31 Javascript
JQuery实现鼠标移动到图片上显示边框效果
2014/01/09 Javascript
javascript鼠标滑动评分控件完整实例
2015/05/13 Javascript
基于JavaScript实现轮播图代码
2016/07/14 Javascript
JS实现类似51job上的地区选择效果示例
2016/11/17 Javascript
js以及jquery实现手风琴效果
2020/04/17 Javascript
jQuery简单实现MD5加密的方法
2017/03/03 Javascript
vue-hook-form使用详解
2017/04/07 Javascript
js学使用setTimeout实现轮循动画
2017/07/17 Javascript
详解JavaScript中关于this指向的4种情况
2019/04/18 Javascript
Node.js折腾记一:读指定文件夹,输出该文件夹的文件树详解
2019/04/20 Javascript
vue项目打包后上传至GitHub并实现github-pages的预览
2019/05/06 Javascript
微信小程序后端实现授权登录
2020/02/24 Javascript
[48:48]VGJ.T vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
11个并不被常用但对开发非常有帮助的Python库
2015/03/31 Python
python 禁止函数修改列表的实现方法
2017/08/03 Python
Python基于csv模块实现读取与写入csv数据的方法
2018/01/18 Python
pycharm debug功能实现跳到循环末尾的方法
2018/11/29 Python
python日期相关操作实例小结
2019/06/24 Python
python3.6 如何将list存入txt后再读出list的方法
2019/07/02 Python
python实现将一维列表转换为多维列表(numpy+reshape)
2019/11/29 Python
python实现mask矩阵示例(根据列表所给元素)
2020/07/30 Python
瑞典的玛丽小姐:Miss Mary of Sweden
2019/02/13 全球购物
外贸业务员求职信
2014/06/16 职场文书
大四毕业生自荐书
2014/07/05 职场文书
平安工地汇报材料
2014/08/19 职场文书
物流专业专科生职业生涯规划书
2014/09/14 职场文书
党员个人对照检查材料
2014/10/01 职场文书
导游欢迎词范文
2015/01/23 职场文书
导游词之秦始皇兵马俑博物馆
2019/09/29 职场文书