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