一尘不染

什么是JavaScript中的“双波浪号”(~~)运算符?

javascript

我在一些代码中看到了这一点,但我不知道它的作用:

var jdn = function(y, m, d) {
  var tmp = (m <= 2 ? -1 : 0);
  return ~~((1461 * (y + 4800 + tmp)) / 4) + 
         ~~((367 * (m - 2 - 12 * tmp)) / 12) - 
         ~~((3 * ((y + 4900 + tmp) / 100)) / 4) + 
         d - 2483620;
};

什么是~~运营商做?


阅读 1147

收藏
2020-04-25

共1个答案

一尘不染

~~是一个双重的非按位运算符。用作的更快替代品Math.floor()

2020-04-25