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 相关文章推荐
javascript基础的动画教程,直观易懂
Jan 10 Javascript
jQuery AJAX 调用WebService实现代码
Mar 24 Javascript
读jQuery之二(两种扩展)
Jun 11 Javascript
jquery 取子节点及当前节点属性值
Jul 25 Javascript
JSON与String互转的实现方法(Javascript)
Sep 27 Javascript
js实现一个猜数字游戏
Mar 31 Javascript
vue元素实现动画过渡效果
Jul 01 Javascript
React Native实现进度条弹框的示例代码
Jul 17 Javascript
Javascript将图片的绝对路径转换为base64编码的方法
Jan 11 Javascript
Vuex的初探与实战小结
Nov 26 Javascript
js如何获取访问IP、地区、当前操作浏览器
Jul 23 Javascript
Vuejs中的watch实例详解(监听者)
Jan 05 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里面的抽象类
2010/01/28 PHP
过滤掉PHP数组中的重复值的实现代码
2011/07/17 PHP
php解决约瑟夫环示例
2014/04/09 PHP
php 模拟 asp.net webFrom 按钮提交事件实例
2014/10/13 PHP
Extjs中通过Tree加载右侧TabPanel具体实现
2013/05/05 Javascript
js操作table示例(个人心得)
2013/11/29 Javascript
js创建对象的区别示例介绍
2014/07/24 Javascript
WEB前端设计师常用工具集锦
2014/12/09 Javascript
JavaScript给按钮绑定点击事件(onclick)的方法
2015/04/07 Javascript
Javascript中prototype属性实现给内置对象添加新的方法
2015/05/14 Javascript
C++中的string类的用法小结
2015/08/07 Javascript
js停止冒泡和阻止浏览器默认行为的简单方法
2016/05/15 Javascript
点击按钮出现60秒倒计时的简单js代码(推荐)
2016/06/07 Javascript
DIV+CSS+jQ实现省市联动可扩展
2016/06/22 Javascript
在JS中a标签加入单击事件屏蔽href跳转页面
2016/12/16 Javascript
JS实现超简单的汉字转拼音功能示例
2016/12/22 Javascript
利用JS实现文字的聚合动画效果
2017/01/22 Javascript
Nodejs 复制文件/文件夹的方法
2017/08/24 NodeJs
vant实现购物车功能
2020/06/29 Javascript
JS sort方法基于数组对象属性值排序
2020/07/10 Javascript
python中使用%与.format格式化文本方法解析
2017/12/27 Python
解决python报错MemoryError的问题
2018/06/26 Python
Python3连接Mysql8.0遇到的问题及处理步骤
2020/02/17 Python
Python基于template实现字符串替换
2020/11/27 Python
Python3中的tuple函数知识点讲解
2021/01/03 Python
Django与AJAX实现网页动态数据显示的示例代码
2021/02/24 Python
纯CSS3发光分享按钮的实现教程
2014/09/06 HTML / CSS
最新的大学生找工作自我评价
2013/09/29 职场文书
网络营销策划方案
2014/06/04 职场文书
五一口号
2014/06/19 职场文书
幼儿园安全责任书范本
2014/07/24 职场文书
国际贸易实训报告
2014/11/05 职场文书
2015学校师德师风工作总结
2015/04/22 职场文书
《赵州桥》教学反思
2016/02/17 职场文书
python爬取企查查企业信息之selenium自动模拟登录企查查
2021/04/08 Python
PyTorch梯度裁剪避免训练loss nan的操作
2021/05/24 Python