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 处理HTML元素必须避免使用的一种方法
Jul 30 Javascript
JQUBar 基于JQUERY的柱状图插件
Nov 23 Javascript
jQuery LigerUI 插件介绍及使用之ligerDrag和ligerResizable示例代码打包
Apr 06 Javascript
jQuery客户端分页实例代码
Nov 18 Javascript
JS实现表格数据各种搜索功能的方法
Mar 03 Javascript
关于Bootstrap弹出框无法调用问题的解决办法
Mar 10 Javascript
浅析JS异步加载进度条
May 05 Javascript
jquery解析XML及获取XML节点名称的实现代码
May 18 Javascript
vue2项目使用sass的示例代码
Jun 28 Javascript
javascript实现文件拖拽事件
Mar 29 Javascript
Vuejs中的watch实例详解(监听者)
Jan 05 Javascript
Javascript中window.name属性详解
Nov 19 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的宝库目录--PEAR
2006/10/09 PHP
thinkPHP中多维数组的遍历方法
2016/01/09 PHP
PHPCMS忘记后台密码的解决办法
2016/10/30 PHP
实现复选框全选/全不选切换
2006/12/23 Javascript
JavaScript数字和字符串转换示例
2014/03/26 Javascript
AngularJS + Node.js + MongoDB开发的基于高德地图位置的通讯录
2015/01/02 Javascript
面向切面编程(AOP)的理解
2015/05/01 Javascript
jQuery实现列表内容的动态载入特效
2015/08/08 Javascript
jQuery遍历json的方法(推荐)
2016/06/12 Javascript
详解微信小程序——自定义圆形进度条
2016/12/29 Javascript
JS操作input标签属性checkbox全选的实现代码
2017/03/02 Javascript
angular-cli修改端口号【angular2】
2017/04/19 Javascript
Angular4学习笔记之根模块与Ng模块
2017/09/09 Javascript
JS实现多物体运动的方法详解
2018/01/23 Javascript
如何用webpack4带你实现一个vue的打包的项目
2018/06/20 Javascript
微信小程序实现登录遮罩效果
2018/11/01 Javascript
JS实现的点击按钮图片上下滚动效果示例
2019/01/28 Javascript
详解Vue后台管理系统开发日常总结(组件PageHeader)
2019/11/01 Javascript
Vue组件通信中非父子组件传值知识点总结
2019/12/05 Javascript
[49:31]TFT vs Mski Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
Python编程实现及时获取新邮件的方法示例
2017/08/10 Python
对python3中pathlib库的Path类的使用详解
2018/10/14 Python
Python对象中__del__方法起作用的条件详解
2018/11/01 Python
python flask 如何修改默认端口号的方法步骤
2019/07/12 Python
使用wxpy实现自动发送微信消息功能
2020/02/28 Python
Python计算指定日期是今年的第几天(三种方法)
2020/03/26 Python
Python sql注入 过滤字符串的非法字符实例
2020/04/03 Python
澳大利亚女性快速时尚零售商:Ally Fashion
2018/04/25 全球购物
个人评语大全
2014/05/04 职场文书
2014年冬季防火方案
2014/05/21 职场文书
迎国庆演讲稿
2014/09/15 职场文书
冰峪沟导游词
2015/02/09 职场文书
老乡聚会通知
2015/04/23 职场文书
励志语录:只有自己足够强大,才能不被别人践踏
2020/01/09 职场文书
golang http使用踩过的坑与填坑指南
2021/04/27 Golang
vue-cli3.x配置全局的scss的时候报错问题及解决
2022/04/30 Vue.js