位运算 AND

当对一对数位执行位运算 AND 时,如果数位均为 1 则返回 1

运算 结果
1111 & 0000 0000
1111 & 0001 0001
1111 & 0010 0010
1111 & 0100 0100

位运算 OR

当对一对数位执行位运算 OR 时,如果其中一位是 1 则返回 1

运算 结果
1111 | 0000 1111
1111 | 0001 1111
1111 | 0010 1111
1111 | 0100 1111

位运算 XOR

当对一对数位进行位运算 XOR 时,如果数位是不同的则返回 1

运算 结果
1111 ^ 0000 1111
1111 ^ 0001 1110
1111 ^ 0010 1101
1111 ^ 0100 1011

位运算左移(<<)

这是零填充的左移,一个或多个零数位从右被推入(乘以2)

运算 结果
5 101
5 << 1 1010

位运算右移(>>)

这是保留符号的右移,最左侧的数位被从左侧推入,最右侧的数位被移出(整除2)

运算 结果
5 101
5 >> 1 10

权限认证

// 权限声明
let STYLE = 1
let CLASS = 1 << 1
let COUNT = 1 << 2

// 授权 |
let vnodeType = STYLE | CLASS

// 判断权限 &
console.log('STYLE=>' + (vnodeType & STYLE)); // 有 STYLE 权限
console.log('CLASS=>' + (vnodeType & CLASS)); // 有 CLASS 权限
console.log('COUNT=>' + (vnodeType & COUNT)); // 没有 COUNT 权限

// 删除权限 ^
vnodeType = vnodeType ^ CLASS

console.log('STYLE=>' + (vnodeType & STYLE)); // 有 STYLE 权限
console.log('CLASS=>' + (vnodeType & CLASS)); // 没有 CLASS 权限
console.log('COUNT=>' + (vnodeType & COUNT)); // 没有 COUNT 权限
打赏作者
您的打赏是我前进的动力
微信
支付宝
评论

中午好👏🏻,我是 ✍🏻   疯狂 codding 中...

粽子

这有关于前端开发的技术文档和你分享。

相信你可以在这里找到对你有用的知识和教程。

了解更多

目录

  1. 1. 位运算 AND
  2. 2. 位运算 OR
  3. 3. 位运算 XOR
  4. 4. 位运算左移(<<)
  5. 5. 位运算右移(>>)
  6. 6. 权限认证