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 相关文章推荐
使用prototype.js 的时候应该特别注意的几个问题.
Apr 12 Javascript
juqery 学习之三 选择器 层级 基本
Nov 25 Javascript
node.js实现逐行读取文件内容的代码
Jun 27 Javascript
JavaScript知识点总结(六)之JavaScript判断变量数据类型
May 31 Javascript
JS弹出窗口的运用与技巧大全
Nov 01 Javascript
基于JavaScript实现简单的音频播放功能
Jan 07 Javascript
layui实现点击按钮给table添加一行
Aug 10 Javascript
浅谈Vue.js路由管理器 Vue Router
Aug 16 Javascript
使用electron将vue-cli项目打包成exe的方法
Sep 29 Javascript
Vue 表情包输入组件的实现代码
Jan 21 Javascript
使用Layui搭建后台管理界面的操作方法
Sep 20 Javascript
windows下create-react-app 升级至3.3.1版本踩坑记
Feb 17 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--用万网的接口实现域名查询功能
2012/12/13 PHP
Laravel与CI框架中截取字符串函数
2016/05/08 PHP
thinkPHP5 tablib标签库自定义方法详解
2017/05/10 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
2017/11/17 PHP
php中yar框架实例用法讲解
2020/12/27 PHP
form表单只提交数据而不进行页面跳转的解决方案
2013/09/18 Javascript
javascript避免数字计算精度误差的方法详解
2014/03/05 Javascript
解释&&和||在javascript中的另类用法
2014/07/28 Javascript
学习JavaScript设计模式(多态)
2015/11/25 Javascript
javascript实现2016新年版日历
2016/01/25 Javascript
解析javascript瀑布流原理实现图片滚动加载
2016/03/10 Javascript
Jquery实现简单的轮播效果(代码管用)
2016/03/14 Javascript
jQuery实现边框动态效果的实例代码
2016/09/23 Javascript
Node.js开发教程之基于OnceIO框架实现文件上传和验证功能
2016/11/30 Javascript
使用openSpeDiv方法实现Ecshop登录弹窗框效果
2017/03/13 Javascript
浅谈angular4生命周期钩子
2017/09/05 Javascript
bootstrap可编辑下拉框jquery.editable-select
2017/10/12 jQuery
浅谈webpack对样式的处理
2018/01/05 Javascript
基于Vue实现电商SKU组合算法问题
2019/05/29 Javascript
使用js在layui中实现上传图片压缩
2019/06/18 Javascript
jQuery操作元素的内容和样式完整实例分析
2020/01/10 jQuery
vue实现员工信息录入功能
2020/06/11 Javascript
[01:38]完美世界DOTA2联赛PWL S3 集锦第四期
2020/12/21 DOTA
python+selenium+autoit实现文件上传功能
2017/08/23 Python
python基于twisted框架编写简单聊天室
2018/01/02 Python
Python读取properties配置文件操作示例
2018/03/29 Python
解决TensorFlow训练内存不断增长,进程被杀死问题
2020/02/05 Python
GLAMGLOW香港官网:明星出镜前的秘密武器
2017/03/16 全球购物
来自Ocado的宠物商店:Fetch
2018/07/10 全球购物
加多宝凉茶广告词
2014/03/18 职场文书
原料仓管员岗位职责
2014/04/12 职场文书
个人四风问题整改措施
2014/10/24 职场文书
蔬果开业典礼发言稿应该怎么写?
2019/09/03 职场文书
Python道路车道线检测的实现
2021/06/27 Python
R9700摩机记
2022/04/05 无线电
吉利入股戴姆勒后smart“长大了”
2022/04/21 数码科技