JavaScript逻辑运算符及优先级
|
今天看了一段YUI compressor压缩的js代码: userNum && (ind += index,ind >= userNum && (ind -= userNum),ind < 0 && (ind === -2 && (ind = -1),ind += userNum),selLi.removeClass("on"),$(selLi[ind]).addClass("on"));
直接疯掉了,估计一下子没几个人能看懂。那么就把他“翻译”一下。 && (逻辑与)
这里主要是一个“&&”运算,首先要搞懂这个,看一个简单的例子: var a = 1 && 2 && 3;//3 var b = 0 && 1 && 2;//0 var c = 1 && 0 && 2;//0 alert(a),alert(b),alert(c); 嘿嘿,写法很奇怪,运行的结果是3,0,0。一般我们在if语句中经常用到。“&&” (逻辑与) 运算和“||”运算真好相反,“&&” 运算遇到false就返回。 if(userNum){
ind += index;
if (ind >= userNum) {
ind -= userNum
}
if(ind < 0){
if(ind === -2){
ind = -1;
}
ind += userNum;
}
selLi.removeClass("on");
$(selLi[ind]).addClass("on");
}
说来惭愧,年纪大了,足足“翻译”了半个小时,还是在同事的帮助下才“翻译”正确。 ||(逻辑或) 再来看看“||”(逻辑或)运算,看例子: var a = 0 || 1 || 2;//1 var b = 1 || 0 || 3;//1 alert(a),alert(b); “||”运算遇到true就返回。例如:a || b ,如果 a 为false,直接返回b,而不管b为true或者false 。如果 a 为true,直接返回a,而不会继续往下执行。 && (逻辑与) 和||(逻辑或)混合使用的时候要注意他们的优先级: && (逻辑与) 优先级高于||(逻辑或) var a = 3 && 0 || 2; //2 var b = 3 || 0 && 2; // 3 var c= 0 || 2 && 3; // 3 alert(a),alert(b),alert(c); 来源:http://www.css88.com/archives/3770 (编辑:信阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 菜鸟:截至18日中午12时 天猫618购物季包裹有七成已经送达
- 2019年中国媒体十大新词语发布 “5G元年”“夸夸群”等词汇
- 工信部发出通知: 将对侵害用户隐私等权益的APP进行专项整治
- 返利网:截至6月18日24:00 累计为用户省钱超过1.7亿
- Javascript 中 while 循环用法的代码
- 5G技术+600km续航 广汽新能源Aion V 6月16日上市
- 外媒:特斯拉车内信息娱乐系统有望搭载AMD“Navi芯片”
- 半导体显示|三星申请SAMOLED商标 可能应用于Galaxy S11系列
- 韦德布什证券:特斯拉Cybertruck电动皮卡预订量已超65万辆
- 2020平行智能大会举办,数据堂与青岛智能产业院等签署战略协
