JS位运算符的使用方法有哪些
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容主要讲解"JS位运算符的使用方法有哪些",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"JS位运算符的使用方法有哪些"吧!1. 使用左移运算符 <<
千家信息网最后更新 2026年11月03日JS位运算符的使用方法有哪些
本篇内容主要讲解"JS位运算符的使用方法有哪些",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"JS位运算符的使用方法有哪些"吧!
1. 使用左移运算符 << 迅速得出2的次方
1 << 2 // 4, 即 2的2次方 1 << 10 // 1024, 即 2的10次方 // 但是要注意使用场景 a = 2e9; // 2000000000 a << 1; // -294967296
2. 使用 ^ 切换变量 0 或 1
// --- before --- // if 判断 if (toggle) { toggle = 0; } else { toggle = 1; } // 三目运算符 togle = toggle ? 0 : 1; // --- after --- toggle ^= 1;3. 使用 & 判断奇偶性
console.log(7 & 1); // 1 console.log(8 & 1) ; // 0
4. 使用 !! 将数字转为布尔值
所有非0的值都是true,包括负数、浮点数:
console.log(!!7); // true console.log(!!0); // false console.log(!!-1); // true console.log(!!0.71); // true
5. 使用~、>>、<<、>>>、|来取整
相当于使用了 Math.floor()
console.log(~~11.71) // 11 console.log(11.71 >> 0) // 11 console.log(11.71 << 0) // 11 console.log(11.71 | 0) // 11 console.log(11.71 >>> 0) // 11
注意 >>> 不可对负数取整
6. 使用^来完成值交换
在 ES6 的解构赋值出来之前,用这种方式会更快(但必须是整数):
// --- before --- let temp = a; a = b; b = temp; // 传统,但需要借助临时变量 b = [a, a = b][0] // 借助数组 // --- after --- 只能用于整数 let a = 7 let b = 1 a ^= b b ^= a a ^= b console.log(a) // 1 console.log(b) // 7 [a, b] = [b, a]; // ES6,解构赋值
7. 使用^判断符号是否相同
只能应用与整数
(a ^ b) >= 0; // true 相同; false 不相同
8. 使用^来检查数字是否不相等
// --- before --- if (a !== 1171) {...}; // --- after --- if (a ^ 1171) {...};9. n & (n - 1),如果为 0,说明 n 是 2 的整数幂

10. 使用 A + 0.5 | 0 来替代 Math.round()
String
1. 使用toString(16)取随机字符串
Math.random().toString(16).substring(2, 15);
.substring() 的第二个参数控制取多少位 (最多可取13位)

2. 使用 split(0)
使用数字来做为 split 的分隔条件可以节省2字节(不实用)
// --- before --- "alpha,bravo,charlie".split(","); // --- after --- "alpha0bravo0charlie".split(0);3. 使用.link() 创建链接
一个鲜为人知的方法,可以快速创建 a 标签
// --- before --- let b = `google`; // --- after --- let b = google .link( www.google.com );
4. 使用 Array 来重复字符
// --- before --- for (let a = "", i = 7; i--;) a+= 0; // --- after --- let b = Array(7).join(0); // "0000000"let c = Array(7).join( La ) // "LaLaLaLaLaLa" // ES6 let d = "0".repeat(7); // "0000000"
其他一些花里胡哨的操作
1. 使用当前时间创建一个随机数
// --- before --- let b = 0 | Math.random() * 100 // --- after --- let a; a = new Date % 100; // 两位随机数 a = new Date % 1000; // 三位随机数 a = new Date % 10000; // 四位随机数...依次类推 // 不要在快速循环中使用,因为毫秒可能没有变化;
2. 一些可以替代 undefined 的操作
3. 使用 Array.length = 0 来清空数组
4. 使用 Array.slice(0) 实现数组浅拷贝
5. 使用 !+"1" 快速判断 IE8 以下的浏览器
6. for 循环条件的简写
// --- before --- for(let i = 0; i < arr.length; i++) {...} // --- after --- for(let i = arr.length; i--;) {...} // 注意 i-- 后面的分号别漏了到此,相信大家对"JS位运算符的使用方法有哪些"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
方法
运算符
运算
整数
随机数
使用方法
相同
数字
数组
实用
内容
变量
字符
条件
负数
学习
循环
更深
传统
兴趣
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
云南咖啡
南京欣网互联网络科技
华服互联网科技靠谱吗
云之行互联网科技
互联网科技产业
A股互联网金融科技公司
智能科技公司是互联网公司吗
有马互联网科技
美国互联网黑科技
广州凡科互联网科技
甘肃拓世互联网科技有限公司
青海省互联网新科技
宁夏众和广鑫互联网科技有限公司
互联网与医疗科技
玉溪互联网科技怎么选
中科明德北京互联网科技
科技互联网的核心竞争力
宇信科技在杭州互联网排第几
陕西彩京云互联网科技有限公司
广东猫王互联网科技有限公司电话
今日互联网科技
互联网科技上市公司
科技互联网创业计划书
云创客互联网科技公司
互联网系的金融科技公司
移动互联网科技股
如何创新互联网科技
互联网科技大赛获奖感言
卓翼科技产业互联网合作
保险科技服务互联网营销体系