可能重複:
What is the 「double tilde」 (~~) operator in JavaScript?~~ vs parseInt?
的D3教程給出了產生一個隨機序列的函數:
var t = 1297110663, // start time (seconds since epoch)
v = 70, // start value (subscribers)
data = d3.range(33).map(next); // starting dataset
function next() {
return {
time: ++t,
value: v = ~~Math.max(10, Math.min(90, v + 10 * (Math.random() - .5)))
};
}
注意~~(蒂爾達蒂爾達)中:
value: v = ~~Math.max(10, Math.min(90, v + 10 * (Math.random() - .5)))
從JavaScript的終端玩弄,我看到:
~~1
1
~~-1
-1
~~-1.3
-1
parseInt(5)
5
parseInt(-5)
-5
parseInt(-5.3)
-5
parseInt(5.3)
5
由於~~和parseInt函數似乎是等同的,什麼使用parseInt函數的原理是什麼?
[Bitwise not](https://developer.mozilla.org/en/JavaScript/Reference/operators/bitwise_operators#.7E_(Bitwise_NOT)) –
關於JavaScript中代字符NOT運算符的TIL。謝謝。 –