2016-05-27

阅读

别人家的面试题:一个整数是否是“4”的N次幂

互联网公司员工睡觉那些事

JavaScript函数式编程探索与思考

顶尖程序员不同于常人的5个区别

Material Design技术分享

前端测试工具集锦

怎样书写可维护JavaScript

https://www.sitepoint.com/write-maintainable-javascript/

聚沙

二进制 1 的个数

https://www.h5jun.com/post/counting-bits.html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var countBit = function(num) {
  var count = 0;

  while (num > 0) {

    if (num & 1 !== 0) {
      count += 1;
    }
    // 可以是这样
    // count += num & 1;

    num >>= 1;
  }

  return count;
};

更好的做法:

1
2
3
4
5
6
7
8
function countBit(n){
    var ret = 0;
    while(n > 0){
        ret++;
        n &= n - 1;
    }
    return ret;
}

乱弹

  • 在大学里很多事情都荒废了,这种算法本来就是小儿科,如今我却要 javascript 来写,位运算在 c 这类语言代表效率,在 js 中却未必

MORE

Comments