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 相关文章推荐
JQuery1.4+ Ajax IE8 内存泄漏问题
Oct 15 Javascript
再论Javascript下字符串连接的性能
Mar 05 Javascript
Struts2的s:radio标签使用及用jquery添加change事件
Apr 08 Javascript
Eclipse下jQuery文件报错出现错误提示红叉
Jan 13 Javascript
兼容各大浏览器的JavaScript阻止事件冒泡代码
Jul 09 Javascript
JavaScript实现三级联动效果
Jul 15 Javascript
Vue.js实现列表清单的操作方法
Nov 15 Javascript
微信小程序form表单组件示例代码
Jul 15 Javascript
angularJs select绑定的model取不到值的解决方法
Oct 08 Javascript
详解在React-Native中持久化redux数据
May 22 Javascript
vue中实现拖动调整左右两侧div的宽度的示例代码
Jul 22 Javascript
三种方式清除vue路由跳转router-link的历史记录
Apr 10 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截取字符串函数substr,iconv_substr,mb_substr示例以及优劣分析
2014/06/10 PHP
新浪微博OAuth认证和储存的主要过程详解
2015/03/27 PHP
详解PHP防止盗链防止迅雷下载的方法
2017/04/26 PHP
利用 fsockopen() 函数开放端口扫描器的实例
2017/08/19 PHP
Yii2.0框架实现带分页的多条件搜索功能示例
2019/02/20 PHP
一些常用的JS功能函数代码
2009/06/23 Javascript
让IE8支持DOM 2(不用框架!)
2009/12/31 Javascript
Js 冒泡事件阻止实现代码
2013/01/27 Javascript
javascript中的nextSibling使用陷(da)阱(keng)
2014/05/05 Javascript
基于jquery的文字向上跑动类似跑马灯的效果
2014/09/22 Javascript
JavaScript的removeChild()函数用法详解
2015/12/27 Javascript
javascript学习之json入门
2016/12/22 Javascript
基于canvas的二维码邀请函生成插件
2017/02/14 Javascript
深入理解vue中的$set
2017/06/01 Javascript
vue.js实例todoList项目
2017/07/07 Javascript
JavaScript 数组去重并统计重复元素出现的次数实例
2017/12/14 Javascript
vue watch普通监听和深度监听实例详解(数组和对象)
2018/08/16 Javascript
vue 项目中使用Loading组件的示例代码
2018/08/31 Javascript
给Python入门者的一些编程建议
2015/06/15 Python
python3编写ThinkPHP命令执行Getshell的方法
2019/02/26 Python
基于tensorflow指定GPU运行及GPU资源分配的几种方式小结
2020/02/03 Python
python爬虫把url链接编码成gbk2312格式过程解析
2020/06/08 Python
keras 获取某层的输入/输出 tensor 尺寸操作
2020/06/10 Python
浅析Python中字符串的intern机制
2020/10/03 Python
美国在线自行车商店:Jenson USA
2018/05/22 全球购物
澳大利亚天然护肤品、化妆品和健康产品一站式商店:Nourished Life
2018/12/02 全球购物
Madda Fella官网:美国冒险家服装品牌
2020/01/16 全球购物
财政局长自荐信范文
2013/12/22 职场文书
学习雷锋精神心得体会范文
2014/03/12 职场文书
学生请假条
2014/04/11 职场文书
2014年党员创先争优承诺书
2014/05/29 职场文书
会计求职简历自我评价
2015/03/10 职场文书
2015年超市收银员工作总结
2015/04/25 职场文书
运动会新闻稿
2015/07/17 职场文书
反腐倡廉心得体会2016
2016/01/13 职场文书
浅谈Node的内存泄露问题
2022/05/06 NodeJs