千家信息网

JS位运算符的使用方法有哪些

发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,本篇内容主要讲解"JS位运算符的使用方法有哪些",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"JS位运算符的使用方法有哪些"吧!1. 使用左移运算符 <<
千家信息网最后更新 2025年11月08日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安全错误 数据库的锁怎样保障安全 云存储服务器销售方案 网络安全强国心得体会 如皋软件开发公司有哪些 政务系统网络安全条例 至高之战文件服务器 ocrale数据库安装教程 你的电话已连接到服务器 天堂游戏机连接不了服务器 软件开发分成如何开票 中国第一大服务器生产厂 2017网络安全知识竞赛 南阳网络安全竞赛 为什么安装了SQL数据库 逃离塔科夫南非服务器叫什么名字 任天堂游戏如何查询服务器 澎湃数据库 合肥极有软件开发 web数据库访问技术有哪些 大学有什么好的自学软件开发 为网络安全防火墙添砖加瓦 河北正规软件开发标准 激活时连接苹果服务器出错 我的世界用什么炸服务器好 合肥铠易网络技术服务有限公司 数据中心网络安全探析 古剑奇谭海外版服务器卡 一年级网络安全手抄报简单文案 关于如何做好网络安全 关于网络安全宣传的手绘 岑溪手机软件开发
    0