前言
极度投入,深度沉迷,边界清晰
前端小菜鸡一枚,分享的文章纯属个人见解,若有不正确或可待探讨点可随便评论,与各位同学一起学习~
欢送关注
『前端进阶圈』
公众号 ,一起摸索学习前端技术......公众号回复
加群
或扫码
, 即可退出前端交流学习群,长期交流学习......公众号回复
加好友
,即可添加为好友
罕用位运算办法
判断一个数的奇偶性
- 奇数:返回 1
偶数:返回 0
console.log(7 & 1); // 1console.log(8 & 1) ; // 0
向下取整
// 不能对正数取整console.log(~~11.71) // 11console.log(11.71 >> 0) // 11console.log(11.71 << 0) // 11console.log(11.71 | 0) // 11console.log(6.83 >>> 0) // 6
取两头值
console.log(12 >> 1); // 6
判断一个数是否等于指标数
let a = 4654;// 如何和指标数相等,则等于 0,否则等于其余数if (a ^ 1171) { // 不等于的状况 console.log(12);} else { // 等于的状况 console.log(34);}
判断一个数是不是 2 的整数次幂, 如果是0,则阐明这个数是 2 的整数次幂
n & (n - 1)// 是 0 则是 2 的整数次幂,不是则返回其余数console.log(16 & (16 - 1)); // 0console.log(15 & (15 - 1));
判断一个值是否存在
// beforeif (arr.indexOf(item) > -1) { // code}// 按位非:item 将会转换为 string 类型进行查找if (~arr.indexOf(item)) { // code}
求一个数的相反数
// 求正数的相反数console.log(~-n + 1); // n// 求负数的相反数console.log(~n + 1); // -n
文章特殊字符形容:
- 问题标注
Q:(question)
- 答案标注
R:(result)
- 注意事项规范:
A:(attention matters)
- 详情形容标注:
D:(detail info)
- 总结标注:
S:(summary)
- 剖析标注:
Ana:(analysis)
- 提醒标注:
T:(tips)
往期回顾:
- 热点面试题:Virtual DOM 相干问题?
- 热点面试题:什么是粘包/半包问题,该如何解决?
- 热点面试题:console.log()同异步问题?
- 热点面试题:过程系列问题?
- 热点面试题:Node.js 中的垃圾回收机制?
- 热点面试题:简述 http3.0~http1.0 别离有什么改良?
- JavaScript中的AMD和CMD标准
- Vue数据监听Object.definedProperty()办法的实现
最初:
- 欢送关注
『前端进阶圈』
公众号 ,一起摸索学习前端技术...... - 公众号回复
加群
或扫码
, 即可退出前端交流学习群,长期交流学习...... - 公众号回复
加好友
,即可添加为好友