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(视频与PPT)
Dec 27 Javascript
jQuery新的事件绑定机制on()示例应用
Jul 18 Javascript
jQuery旋转插件jqueryrotate用法详解
Oct 13 Javascript
基于angularJS的表单验证指令介绍
Oct 21 Javascript
javascript十六进制数字和ASCII字符之间的转换方法
Dec 27 Javascript
简单谈谈gulp-changed插件
Feb 21 Javascript
bootstrap实现动态进度条效果
Mar 08 Javascript
微信小程序开发之toast等弹框提示使用教程
Jun 08 Javascript
使用AngularJS编写多选按钮选中时触发指定方法的指令代码详解
Jul 24 Javascript
javascript基础进阶_深入剖析执行环境及作用域链
Sep 05 Javascript
JS学习笔记之贪吃蛇小游戏demo实例详解
May 29 Javascript
vue新建项目并配置标准路由过程解析
Dec 09 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数组函数序列之asort() - 对数组的元素值进行升序排序,保持索引关系
2011/11/02 PHP
PHP实现提取一个图像文件并在浏览器上显示的代码
2012/10/06 PHP
详细解读php的命名空间(一)
2018/02/21 PHP
23个Javascript弹出窗口特效整理
2011/02/25 Javascript
JS+CSS实现感应鼠标渐变显示DIV层的方法
2015/02/20 Javascript
JQuery中属性过滤选择器用法实例分析
2015/05/18 Javascript
简述JavaScript中正则表达式的使用方法
2015/06/15 Javascript
JavaScript实现复制内容到粘贴板代码
2016/03/31 Javascript
如何用js判断dom是否有存在某class的值
2017/02/13 Javascript
关于angular js_$watch监控属性和对象详解
2017/04/24 Javascript
js实现文字列表无缝滚动效果
2017/06/23 Javascript
vue实现页面加载动画效果
2017/09/19 Javascript
JS简单实现数组去重的方法分析
2017/10/14 Javascript
vue 系列——vue2-webpack2框架搭建踩坑之路
2017/12/22 Javascript
jQuery与vue实现拖动验证码功能
2018/01/30 jQuery
Vue2.0实现调用摄像头进行拍照功能 exif.js实现图片上传功能
2018/04/28 Javascript
浅谈react性能优化的方法
2018/09/05 Javascript
微信小程序实现下拉框功能
2019/07/16 Javascript
JQuery实现ul中添加LI和删除指定的Li元素功能完整示例
2019/10/16 jQuery
Vue中fragment.js使用方法小结
2020/02/17 Javascript
python统计字符串中指定字符出现次数的方法
2015/04/04 Python
使用Python的Treq on Twisted来进行HTTP压力测试
2015/04/16 Python
python实现ID3决策树算法
2017/12/20 Python
利用Python如何将数据写到CSV文件中
2018/06/05 Python
利用python为PostgreSQL的表自动添加分区
2021/01/18 Python
Html5 语法与规则简要概述
2014/07/29 HTML / CSS
Melissa香港官网:MDreams
2016/07/01 全球购物
澳洲本土太阳镜品牌:Quay Australia
2019/07/29 全球购物
大学生应聘自荐信
2013/10/11 职场文书
公司市场部岗位职责
2013/12/02 职场文书
大学生毕业的自我评价分享
2014/01/02 职场文书
制作部班长职位说明书
2014/02/26 职场文书
《莫泊桑拜师》教学反思
2014/04/23 职场文书
三月学雷锋活动总结
2014/06/26 职场文书
中国式结婚:司仪主持词(范文)
2019/07/25 职场文书
golang协程池模拟实现群发邮件功能
2021/05/02 Golang