# 2020.9.1

# webpack 中的 HappyPack

  • 由于运行在 Node.js 之上的 Webpack 是单线程模型的,所以 Webpack 需要处理的事情需要一件一件的做,不能多件事一起做。 我们需要 Webpack 能同一时间处理多个任务,发挥多核 CPU 电脑的威力,HappyPack 就能让 Webpack 做到这点,它把任务分解给多个子进程去并发的执行,子进程处理完后再把结果发送给主进程。

# 图片转 base64格式

  • 一般小于 8kb 是明显可以的
  • 超过 16kb 一般是不建议的
  • 超过 32kb 一般是明显不应该的

# 2020.10.22

# echarts 纵轴展示 0% ~100%

optionCopy.yAxis = [{
  type: 'value',
  min: 0,
  max: 100,
  interval: 25,
  axisLabel: {
      fontSize: 10,
      formatter: '{value} %'
  }
}];
1
2
3
4
5
6
7
8
9
10

# 2020.10.26

# a 标签上的 href 用来向后端传递参数时只能写死,不能用变量。

# 给 DOM 元素添加属性

this.linkAdom.setAttribute('href', `kim://thread?id=${this.groupId}&type=4`);
1

# 2020.11.02

# 监听浏览器切换 Tab 页的API visibilitychange

document.addEventListener('visibilitychange',function(){  // 浏览器切换事件
  if (document.visibilityState === 'hidden') {                // 离开当前tab标签
    console.log("离开当前tab标签");    // 这里可以做一些我们想做的操作,比如说清除页面的轮刷定时器。
  } else {                                                 // 回到当前tab标签
    console.log("回到当前tab标签");   // 这里可以做一些我们想做的操作,比如重新开启页面的轮刷定时器。
  }
});
1
2
3
4
5
6
7

# 2020.11.6

# some 位运算

求除以 2 的余数可以用位与运算符:n & 1,如下所示:

0101
    &
0001
0001  5 & 1 = 1
1
2
3
4
0110
    &
0001
0000  6 & 1 = 0
1
2
3
4

# 上面位运算的应用

  • LeetCode 1356. 根据数字二进制下 1 的数目排序
给你一个整数数组 arr 。请你将数组中的元素按照其二进制表示中数字 1 的数目升序排序。
如果存在多个数字二进制中 1 的数目相同,则必须将它们按照数值大小升序排列。
请你返回排序后的数组。

示例 1:

输入:arr = [0,1,2,3,4,5,6,7,8]
输出:[0,1,2,4,8,3,5,6,7]
解释:[0] 是唯一一个有 01 的数。
[1,2,4,8] 都有 11[3,5,6]21[7]31 。
按照 1 的个数排序得到的结果数组为 [0,1,2,4,8,3,5,6,7]

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/sort-integers-by-the-number-of-1-bits
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/**
 * @param {number[]} arr
 * @return {number[]}
 */
var sortByBits = function (arr) {
  const sortJing = (n) => {
    let count = 0;
    while (n != 0) {
      count += n & 1;
      n = n >> 1;
    }
    return count;
  }
  return arr.sort((a, b) => {
    return sortJing(a) - sortJing(b) || a - b;
  })
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# 看到的字符串API

String.fromCharCode()

  • 静态 String.fromCharCode() 方法返回由指定的 UTF-16 代码单元序列创建的字符串。
String.fromCharCode(97)  // a
1