位运算符判断奇偶

之前在学习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";
            }
            
        }
    
    });

image.png

修改后

    $(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";
            }
            
        }
    
    });

image.png

猜你喜欢

转载自www.cnblogs.com/garyleessang/p/12191746.html
今日推荐