JavaScript位运算符详解
二进制的世界里,位运算可是一把好用的瑞士军刀。JavaScript 的位运算符虽然不常见,但用得好能让你的代码又短又快。像&
按位与、|
按位或这些操作,权限、状态标识啥的方便。
按位与就像做筛选器,两边都是 1 才是 1,拿来判断某个标志位是不是被设置合适。举个例子,flags & 0b100
就能看第三位有没有被打开,挺高效的。
按位或就像开灯,有一个是 1 就亮,用来设置多个标志位的时候好用,比如flags | 0b010
直接把第二位打开,代码也清爽。
还有个比较“骚”的玩法是按位异或,写法是^
。两个一样是 0,不一样才是 1,常拿来做状态切换。比如:state ^= 0b001
能快速翻转某个位的状态,省掉多if
判断,效率高。
,初学者用的时候要注意别太上头。位运算的值有时候看起来像负数,其实是因为 JavaScript 用了 32 位有符号整数,调试的时候多注意下。
如果你对位运算感兴趣,推荐你看看下面这些文章,讲得还挺细:
如果你平时要状态、权限、开关位这些东西,位运算真的可以试试,写起来还挺有成就感的~
995KB
文件大小:
评论区