JavaScript中的位运算有哪些实际应用场景?

来源:站长站作者:柬埔寨程序员头衔:程序员
导读:本期聚焦于小伙伴创作的《JavaScript中的位运算有哪些实际应用场景?》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《JavaScript中的位运算有哪些实际应用场景?》有用,将其分享出去将是对创作者最好的鼓励。

JavaScript中的位运算直接对数字的二进制位进行操作,虽然日常业务里不常写,但在一些特定场景下能带来更简洁和高效的实现。下面介绍几种常见的实际应用。

JavaScript中的位运算有哪些实际应用场景?

判断数字的奇偶性

利用按位与 & 运算,数字和 1 做与操作,结果为 0 表示偶数,为 1 表示奇数。这是因为奇数的二进制末位一定是 1。

function isOdd(n) {
  // 末位为1则是奇数
  return (n & 1) === 1;
}
console.log(isOdd(3)); // true
console.log(isOdd(4)); // false

快速乘除以 2 的幂

左移 << 相当于乘以 2 的指定次方,右移 >> 相当于除以 2 的指定次方并向下取整。

let a = 5;
console.log(a << 1); // 10,等价于 5 * 2
console.log(a >> 1); // 2,等价于 Math.floor(5 / 2)

不使用临时变量交换两个数

异或 ^ 满足相同为 0、不同为 1,利用这个特性可以原地交换变量。

let x = 10, y = 20;
x = x ^ y;
y = x ^ y; // 此时 y 变成原来的 x
x = x ^ y; // 此时 x 变成原来的 y
console.log(x, y); // 20 10

利用位运算做取整

连续两次按位非 ~ 或者单次双非,可以把数字的小数部分去掉,效果类似 Math.floor 对正数的处理。

let num = 12.89;
console.log(~~num); // 12

权限与状态压缩

在权限系统中,可以把不同权限用不同的位表示,通过或运算合并、与运算校验。

const READ = 1;    // 0001
const WRITE = 2;   // 0010
const EXEC = 4;    // 0100

let permission = READ | WRITE; // 拥有读和写
// 检查是否有写权限
console.log((permission & WRITE) !== 0); // true

小结

以上场景展示了 JavaScript 位运算在判断、计算、交换、取整以及状态管理上的实用价值。在性能敏感或需要压缩数据的场合,合理使用位运算能让代码更轻量。但也要注意可读性,团队项目中应适度添加注释说明意图。

JavaScript位运算bitwise_operations修改时间:2026-07-26 06:39:08

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。