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 相关文章推荐
js 异步处理进度条
Apr 01 Javascript
关于js new Date() 出现NaN 的分析
Oct 23 Javascript
js与jquery获取父元素,删除子元素的两种不同方法
Jan 09 Javascript
js获取和设置属性的方法
Feb 20 Javascript
详解node.js平台下Express的session与cookie模块包的配置
Apr 26 Javascript
基于vue+axios+lrz.js微信端图片压缩上传方法
Jun 25 Javascript
JavaScript相等运算符的九条规则示例详解
Oct 20 Javascript
使用webpack/gulp构建TypeScript项目的方法示例
Dec 18 Javascript
JS实现横向轮播图(中级版)
Jan 18 Javascript
原生javascript制作贪吃蛇小游戏的方法分析
Feb 26 Javascript
js最全的数组的降维5种办法(小结)
Apr 28 Javascript
Vue3 Composition API的使用简介
Mar 29 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
PHP笔记之:日期函数的使用介绍
2013/04/24 PHP
PHP递归实现汉诺塔问题的方法示例
2017/11/25 PHP
CMSPRESS 10行代码搞定 PHP无限级分类2
2018/03/30 PHP
javascript使用isNaN()函数判断变量是否为数字
2013/09/21 Javascript
javascript在网页中实现读取剪贴板粘贴截图功能
2014/06/07 Javascript
javascript中HTMLDOM操作详解
2014/12/11 Javascript
谈一谈javascript闭包
2016/01/28 Javascript
整理AngularJS框架使用过程当中的一些性能优化要点
2016/03/05 Javascript
关于JS 预解释的相关理解
2016/06/28 Javascript
Bootstrap modal 多弹窗之叠加关闭阴影遮罩问题的解决方法
2017/02/27 Javascript
VUE实现日历组件功能
2017/03/13 Javascript
Vue.js实现按钮的动态绑定效果及实现代码
2017/08/21 Javascript
vue vantUI实现文件(图片、文档、视频、音频)上传(多文件)
2019/10/15 Javascript
Javascript数组及类数组相关原理详解
2020/10/29 Javascript
Python中MYSQLdb出现乱码的解决方法
2014/10/11 Python
浅析Python 中整型对象存储的位置
2016/05/16 Python
Python实现多线程HTTP下载器示例
2017/02/11 Python
python 网络编程详解及简单实例
2017/04/25 Python
django使用haystack调用Elasticsearch实现索引搜索
2019/07/24 Python
Python实现语音识别和语音合成功能
2019/09/20 Python
Python 脚本实现淘宝准点秒杀功能
2019/11/13 Python
Python迷宫生成和迷宫破解算法实例
2019/12/24 Python
python logging 日志的级别调整方式
2020/02/21 Python
在Python 的线程中运行协程的方法
2020/02/24 Python
使用PyQt的QLabel组件实现选定目标框功能的方法示例
2020/05/19 Python
Python解析微信dat文件的方法
2020/11/30 Python
Python try except else使用详解
2021/01/12 Python
HTML5中的新元素介绍
2008/10/17 HTML / CSS
HTML5拖拽文件到浏览器并实现文件上传下载功能代码
2013/06/06 HTML / CSS
HTML5 文件域+FileReader 分段读取文件并上传到服务器
2017/10/23 HTML / CSS
美术师范毕业生自荐信
2013/11/16 职场文书
应届优秀本科大学毕业生自我鉴定
2014/01/21 职场文书
借款协议书
2014/09/16 职场文书
运动会广播稿200米(5篇)
2014/10/15 职场文书
农村党员学习党的群众路线教育实践活动心得体会
2014/11/04 职场文书
关于元旦的广播稿2016
2015/12/17 职场文书