一、 !!
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
(持续更新中。。。)