之前在学习Java时其实已经踩过一次坑,这次又忘了。再次记录一下这个小问题
我们在判断奇偶时,除了最常用的%2,还可以用位运算符&去判断,但是有时会忘了加上括号
,导致结果出错。
如图:本意想让0、2、4行为粉色, 1、3、5行为黄色。
$(function() {
var jqLi = $("li");
for (let i = 0; i < jqLi.length; i++) {
const element = jqLi[i];
//不加括号时,条件直接为false
if (i & 1 == 0) {
element.style.backgroundColor = "pink";
} else {
element.style.backgroundColor = "yellow";
}
}
});
修改后
$(function() {
var jqLi = $("li");
for (let i = 0; i < jqLi.length; i++) {
const element = jqLi[i];
//可以用与运算符来判断奇偶,但是一定要记得用括号将i & 1包起来,否则无效。(因为位运算符的优先级比 == 低)
if ((i & 1) == 0) {
element.style.backgroundColor = "pink";
} else {
element.style.backgroundColor = "yellow";
}
}
});