JavaScript位运算符详解

二进制的世界里,位运算可是一把好用的瑞士军刀。JavaScript 的位运算符虽然不常见,但用得好能让你的代码又短又快。像&按位与、|按位或这些操作,权限、状态标识啥的方便。

按位与就像做筛选器,两边都是 1 才是 1,拿来判断某个标志位是不是被设置合适。举个例子,flags & 0b100就能看第三位有没有被打开,挺高效的。

按位或就像开灯,有一个是 1 就亮,用来设置多个标志位的时候好用,比如flags | 0b010直接把第二位打开,代码也清爽。

还有个比较“骚”的玩法是按位异或,写法是^。两个一样是 0,不一样才是 1,常拿来做状态切换。比如:state ^= 0b001能快速翻转某个位的状态,省掉多if判断,效率高。

,初学者用的时候要注意别太上头。位运算的值有时候看起来像负数,其实是因为 JavaScript 用了 32 位有符号整数,调试的时候多注意下。

如果你对位运算感兴趣,推荐你看看下面这些文章,讲得还挺细:

如果你平时要状态、权限、开关位这些东西,位运算真的可以试试,写起来还挺有成就感的~

ppt 文件大小:995KB