JavaScript运算符优先级——"++,--,&&,||“
2024-08-31 00:10:42
上篇文章比较了"?,="三者的优先级:"?">"=">","
今天继续学习"++,--,&&,||"四者的优先级,强化JavaScript运算符基础。
首先上图一张,运算符的比较:
结论:
1.优先级:"++,--">"&&">"||"
2.即时性:++,--操作符里面的变量计算时候具有即时性。例如a=0,a++,那么a++结果是0,a是1.
||和&&是截断操作符,对||来说,前面成立后面就不用计算,对&&来说前面不成立后面就不会计算
例如:var a=b=c=0;
++a||++b: ++a的值为1,所以++b不执行,a=1,b=0;
++a&&++b: ++a值为1,再计算++b,a=1,b=1;
++a||++b&&++c,&&优先级低于||,先计算++a,a=1后面执行a=1,b=0,c=0.
下面我们看一个复杂的例题:
var a =1 ,b =0;
var c = a-- && b++ || a++ && b-- || b++;
alert(a);
alert(b);
alert(c);
结果是:a=1,b=2,c=1
结计算过程详解:
1.c原式相当于:(a--) && (b++) || (a++) && (b--) || (b++);
2.计算到第3位时候注意:此时全式变为:1(a为0)&&0(b为1)||0(a为1)&&(b--)(0&&any特点,不用计算这位,b仍为1)||1(该位是在第2个&&计算完之后,开始计算的,所以b变为2),即1&&0||0&&(b--)||1
3.a=1,b=2,c=1
最新文章
- BestCoder22 1002.NPY and arithmetic progression(hdu 5143) 解题报告
- python中的变量和数据类型
- Python: 迭代器与生成器小结
- javascript将浮点数转换成整数的三个方法
- win7进入不了系统故障修复
- 基于Android Studio搭建Android应用开发环境
- urlrewrite 匹配规则之优先选择
- Uva 122 树的层次遍历 Trees on the level lrj白书 p149
- Elastic Search 语法总结
- JS内存管理
- 【转载】Hadoop 2.7.3 和Hbase 1.2.4安装教程
- .net asp 实现json 格式跨域访问 的方法
- 【算法和数据结构】_16_小算法_IntToStr: 将整型数据转换为字符串
- 57.1拓展之纯 CSS 创作黑暗中的眼睛和嘴巴
- java 素数(按要求输出)
- SQL Server 字符串拼接、读取
- Simple Mail Transfer Protocol --- SMTP协议
- 剑指offer66:机器人的活动范围
- Android DiskLruCache完全解析,硬盘缓存的最佳方案
- 解压版MySQL安装后初始化root密码
热门文章
- c# XML增删改查
- sql server时间戳timestamp
- 依赖注入(DI)与控制反转(IOC)
- ubantu一些资料
- 大佬写的js生成玫瑰(来源网络)
- loj#6229. 这是一道简单的数学题 (??反演+杜教筛)
- java Swing包相关知识点
- Django 11 form表单(状态保持session、form表单及注册实现)
- Vue 父页面 值传递 不到 子组件....
- php curl 请求api 接口