一、 !!
js中的!!
var o ={flag:4};
var test = !!o.flag;
console.log(test); // true
二、~~,<<
(~~(Math.random()*(1<<24)))
得到一個0 到 16777216之間的值
這個構造的其實是一個10進制的顏色值(隨機生成數值),轉換成16進制就是,像白色FFFFFF,藍色0000FF等等。
1<<24是 把1左移24位,即 1的24次方(1<<24代表的是2進制中的1后面24個0即2的24次方)
2.math.random()
0.0 ~ 1.0 之間的一個偽隨機double數值。
3.~~是由2個~組成,~是位運算 NOT
這行代碼並不關心正負值。因此通過兩次取返就可以得到純整數部,我們還可以將~~視為parseInt的簡寫:
var a = 12.34, // ~~a = 12
b = -1231.8754, // ~~b = -1231
c = 3213.000001 // ~~c = 3213
;
~~a == parseInt(a, 10); // true
~~b == parseInt(b, 10); // true
~~c == parseInt(c, 10); // true
(持續更新中。。。)