JavaScript逻辑运算符及优先级的介绍
创始人
2024-12-17 17:00:51
0次

今天看了一段YUI compressor压缩的js代码:

1userNum
&& (ind += index,ind >= userNum && (ind -= userNum),ind < 0 && (ind === -2 && (ind = -1),ind += userNum),selLi.removeClass(
"on"),$(selLi[ind]).addClass("on"));

直接疯掉了,估计一下子没几个人能看懂。那么就把他“翻译”一下。

&& (逻辑与)

这里主要是一个“&&”运算,首先要搞懂这个,看一个简单的例子:

1var a
= 1 && 2 && 3;
//3
2var b
= 0 && 1 && 2;
//0
3var c
= 1 && 0  && 2;
//0
4alert(a),alert(b),alert(c);

嘿嘿,写法很奇怪,运行的结果是3,0,0。一般我们在if语句中经常用到。“&&” (逻辑与) 运算和“||”运算真好相反,“&&” 运算遇到false就返回。
例如: a && b ,如果 a 为true,直接返回b,而不管b为true或者false 。如果 a 为false 那么直接返回a,上面例子中第一个var a = 1 && 2 && 3;因为1 && 2,1为真,返回2;2&&3, 2为真,返回3 。
搞懂了“&&” 运算,再来看最上的面的YUI compressor压缩的js代码,翻译一下:

01if(userNum){
02ind
+= index;
03if (ind
>= userNum) {
04ind
-= userNum
05}
06if(ind
< 0){
07if(ind
=== -2){
08ind
= -1;
09}
10ind
+= userNum;
11}
12selLi.removeClass("on");
13$(selLi[ind]).addClass("on");
14}

说来惭愧,年纪大了,足足“翻译”了半个小时,还是在同事的帮助下才“翻译”正确。

||(逻辑或)

再来看看“||”(逻辑或)运算,看例子:

1var a
= 0 || 1 || 2;
//1
2var b
= 1 || 0 || 3;
//1
3alert(a),alert(b);

“||”运算遇到true就返回。例如:a || b ,如果 a 为false,直接返回b,而不管b为true或者false 。如果 a 为true,直接返回a,而不会继续往下执行。

&& (逻辑与) 和||(逻辑或)混合使用的时候要注意他们的优先级:

&& (逻辑与) 优先级高于||(逻辑或)
return a && b || c ,
根据a来判断返回值,a 是 false 则肯定返回 c;如果 b , c 都是 true ,那么我们就可以根据 a 来决定b 还是 c ,如果 a 是 false 则返回 c,如果a是true 则返回 b。
return a || b && c
根据优先级相当于先算 b && c ,然后和a 相 或;如果a是true,则返回a,不论是b或c,如果a是false,则如果b是false,返回b,如果b是true,返回c;

1var a
= 3  &&  0 || 2;  
//2
2 
3var b
= 3 || 0  &&  2; 
//
3
4 
5var c=
0 || 2 && 3; 
//
3
6alert(a),alert(b),alert(c);

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...