JavaScript 中的二进制散列值和权限设计

不管是前端还是后端的伙伴,在工作中会经常遇到权限控制的场景,业务上无非就几种权限:页面权限、操作权限、数据权限,不同公司根据业务需要都采取不同的方法区控制权限,我们这里讨论一下使用 JavaScript 中的位运算符来控制权限。

进制类型

JavaScript 中提供的进制表示方法有四种:十进制、二进制、十六进制、八进制
对于数值字面量,主要使用不同的前缀来区分:

  1. 十进制:取值数字 0-9;不用前缀。
  2. 二进制(Binary): 取值数字 0 和 1 ;前缀 0b 或 0B。
  3. 十六进制(Hexadecimal):取值数字 0-9 和 a-f ;前缀 0x 或 0X。
  4. 八进制(Octal):取值数字 0-7 ;前缀 0o 或 0O (ES6规定)。

位运算符

什么是位运算符?
位运算符指的是二进制位的运算,先将十进制数转成二进制后再进行运算。 在二进制位运算中,1表示true,0表示false。
JavaScript 中的按位操作符有:

运算符 用法 描述
按位与(AND) A & B 如果对应的二进制位都为 1,则该二进制位为 1
按位或(OR) A 或 B 如果对应的二进制位有一个为 1,则该二进制位为 1
按位异或(XOR) A ^ B 如果对应的二进制位只有一个为 1,则该二进制位为 1
按位非(NOT) ~A 反转所有二进制位,即 1 转换为 0,0 转换为 1
按位左移 A << B 将所有二进制位统一向左移动指定的位数,并在最右侧补 0
按位右移 A >> B 按位右移(有符号右移):将所有二进制位统一向右移动指定的位数,并拷贝最左侧的位来填充左侧
无符号右移 A >>> B 按位右移零(无符号右移):将所有二进制位统一向右移动指定的位数,并在最左侧补 0

示例:

const A 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白雾茫茫丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值