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不能跳转到上一页面的问题解决方法
Mar 01 Javascript
Javascript MVC框架Backbone.js详解
Sep 18 Javascript
基于javascript实现窗口抖动效果
Jan 03 Javascript
使用jQuery的ajax方法向服务器发出get和post请求的方法
Jan 13 Javascript
jquery滚动条插件slimScroll使用方法
Feb 09 Javascript
AngularJS折叠菜单实现方法示例
May 18 Javascript
详解node服务器中打开html文件的两种方法
Sep 18 Javascript
js中json对象和字符串的理解及相互转化操作实现方法
Sep 22 Javascript
Angular中的ng-template及angular 使用ngTemplateOutlet 指令的方法
Aug 08 Javascript
vue 点击按钮增加一行的方法
Sep 07 Javascript
IDEA安装vue插件图文详解
Sep 26 Javascript
Node.js web 应用如何封装到Docker容器中
Sep 01 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/26 PHP
Ajax PHP JavaScript MySQL实现简易无刷新在线聊天室
2016/08/17 PHP
PHP封装curl的调用接口及常用函数详解
2018/05/31 PHP
JS BASE64编码 window.atob(), window.btoa()
2021/03/09 Javascript
javascript 树控件 比较好用
2009/06/11 Javascript
利用json获取字符出现次数的代码
2012/03/22 Javascript
利用javascript实现web页面中指定区域打印
2013/10/30 Javascript
js中switch case循环实例代码
2013/12/30 Javascript
javascript 事件处理示例分享
2014/12/31 Javascript
JavaScript提高性能知识点汇总
2016/01/15 Javascript
jquery Deferred 快速解决异步回调的问题
2016/04/05 Javascript
jQuery获取当前点击的对象元素(实现代码)
2016/05/19 Javascript
vue项目中仿element-ui弹框效果的实例代码
2019/04/22 Javascript
js中火星坐标、百度坐标、WGS84坐标转换实现方法示例
2020/03/02 Javascript
JavaScript 实现下雪特效的示例代码
2020/09/09 Javascript
jquery简易手风琴插件的封装
2020/10/13 jQuery
Vue基于localStorage存储信息代码实例
2020/11/16 Javascript
[01:10]DOTA2 Supermajor:英雄,由我们见证
2018/05/14 DOTA
用Python编程实现语音控制电脑
2014/04/01 Python
使用Mixin设计模式进行Python编程的方法讲解
2016/06/21 Python
python+django快速实现文件上传
2016/10/24 Python
Python守护进程和脚本单例运行详解
2017/01/06 Python
Python上下文管理器和with块详解
2017/09/09 Python
Python 用Redis简单实现分布式爬虫的方法
2017/11/23 Python
python抓取网站的图片并下载到本地的方法
2018/05/22 Python
python 多线程中子线程和主线程相互通信方法
2018/11/09 Python
Django框架orM与自定义SQL语句混合事务控制操作
2019/06/27 Python
解决django中ModelForm多表单组合的问题
2019/07/18 Python
python使用flask与js进行前后台交互的例子
2019/07/19 Python
全球速卖通西班牙站:AliExpress西班牙
2017/10/30 全球购物
助人为乐表扬信范文
2014/01/14 职场文书
服装设计专业求职信
2014/06/16 职场文书
大学生村官工作总结2015
2015/04/09 职场文书
女性励志书籍推荐
2019/08/19 职场文书
分析MySQL抛出异常的几种常见解决方式
2021/05/18 MySQL
Python实现老照片修复之上色小技巧
2021/10/16 Python