Skip to content

一些前端的风骚代码

Published:

来源于网络。

  1. 判断两个数字的符号是否相同
(3 ^ -5) >=
  0(
    // false, 符号不同
    -3 ^ -5
  ) >=
  0(
    // true, 符号相同
    3 ^ 5
  ) >=
  0(
    // true, 符号相同
    3 ^ -5
  ) >=
  0; // false, 符号不同
  1. 写一个函数,判断一个数字是否为2的整数幂。
const isPowerOf2 = n => (n & (n - 1)) === 0;

isPowerOf2(4); // true
isPowerOf2(15); // false
isPowerOf2(16); // true
isPowerOf2(256); // true
isPowerOf2(250); // false
  1. 一个倒序排序的简写
for (let i = arr.length - 1; i >= 0; i--) {}
// 简写为
for (let i = arr.length; i--; ) {}
  1. Stackoverflow
try {
  // stuff...
} catch (e) {
  location.href = "https://stackoverflow.com/search?q=js" + e.message;
}
  1. 让一个数字在1和0之间来回切换
let toggle = 0;
toggle ^= 1; // toggle: 1
toggle ^= 1; // toggle: 0
toggle ^= 1; // toggle: 1
  1. 求一个数字整数部分的几种写法
~~3.14; // 3
3.14 >> 0; // 3
3.14 << 0; // 3
3.14 | 0; // 3
  1. 得到一个数乘以2的n次幂
1 << 2; // 4
1 << 3; // 8
1 << 4; // 16