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实现读取txt文档的脚本
Jul 20 Javascript
JQuery 操作Javascript对象和数组的工具函数小结
Jan 22 Javascript
jQuery中ajax的load()方法用法实例
Dec 26 Javascript
分享一则JavaScript滚动条插件源码
Mar 03 Javascript
jQuery实现伪分页的方法分享
Feb 17 Javascript
轻松实现jQuery添加删除按钮Click事件
Mar 13 Javascript
深入理解Vue 的条件渲染和列表渲染
Sep 01 Javascript
JavaScript寄生组合式继承原理与用法分析
Jan 11 Javascript
详解Vue.directive 自定义指令
Mar 27 Javascript
详解微信图片防盗链“此图片来自微信公众平台 未经允许不得引用”的解决方案
Apr 04 Javascript
了解javascript中的Dom操作
May 27 Javascript
微信小程序之数据绑定原理解析
Aug 14 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
桌面中心(三)修改数据库
2006/10/09 PHP
解析php中const与define的应用区别
2013/06/18 PHP
在Windows系统下使用PHP生成Word文档的教程
2015/07/03 PHP
PHP使用DOM和simplexml读取xml文档的方法示例
2017/02/08 PHP
详细分析PHP 命名空间(namespace)
2020/06/30 PHP
js 单引号 传递方法
2009/06/22 Javascript
JS getMonth()日期函数的值域是0-11
2010/02/15 Javascript
angularjs实现与服务器交互分享
2014/06/24 Javascript
基于NodeJS的前后端分离的思考与实践(三)轻量级的接口配置建模框架
2014/09/26 NodeJs
浅析javascript的间隔调用和延时调用
2014/11/12 Javascript
jQuery实现鼠标滑过Div层背景变颜色的方法
2015/02/17 Javascript
Angular.JS学习之依赖注入$injector详析
2016/10/20 Javascript
原生JavaScript实现的简单省市县三级联动功能示例
2017/05/27 Javascript
Node.js实现注册邮箱激活功能的方法示例
2018/03/23 Javascript
JS实现获取word文档内容并输出显示到html页面示例
2018/06/23 Javascript
JS打印彩色菱形的实例代码
2018/08/15 Javascript
微信小程序基于movable-view实现滑动删除效果
2020/01/08 Javascript
JS call()及apply()方法使用实例汇总
2020/07/11 Javascript
vue v-for 点击当前行,获取当前行数据及event当前事件对象的操作
2020/09/10 Javascript
对Python中创建进程的两种方式以及进程池详解
2019/01/14 Python
python3.x实现base64加密和解密
2019/03/28 Python
PyQt5 对图片进行缩放的实例
2019/06/18 Python
Python关于__name__属性的含义和作用详解
2020/02/19 Python
Python 程序员必须掌握的日志记录
2020/08/17 Python
详解css3自定义滚动条样式写法
2017/12/25 HTML / CSS
美国受欢迎的女性牛仔裤品牌:DL1961
2016/11/12 全球购物
三查三看党性分析材料
2014/02/18 职场文书
搬迁通知
2015/04/20 职场文书
企业百日安全活动总结
2015/05/07 职场文书
网吧温馨提示
2015/07/17 职场文书
大学生各类奖学金申请书
2019/06/24 职场文书
七年级写作指导之游记作文
2019/10/07 职场文书
python实现腾讯滑块验证码识别
2021/04/27 Python
Python实现随机生成迷宫并自动寻路
2021/06/13 Python
PostGIS的安装与入门使用指南
2022/01/18 PostgreSQL
VMware虚拟机安装 Windows Server 2022的详细图文教程
2022/09/23 Servers