从一行CSS调试代码中学到的JavaScript知识

  话不多说,直接上代码:

1
2
3
[].forEach.call($$("*"),function(a){
a.style.outline="1px solid #"+(~~(Math.random()*(1<<24))).toString(16)
});

    话不多说,直接上代码:

1
2
3
[].forEach.call($$("*"),function(a){
a.style.outline="1px solid #"+(~~(Math.random()*(1<<24))).toString(16)
});

  $$('*')等价于document.querySelectorAll('*')JavaScript中的$$(*)代表什么和$选择器的由来
  1<<24返回的是16777216(2^24),所以Math.random()*(1<<24)可以得到一个0 到 16777216之间的值;~操作符(按位取反操作),通过两次取返就可以得到纯整数部,我们还可以将~~视为parseInt的简写,所以~~(Math.random()*(1<<24))返回的是一个整数。最后颜色就是#000000~#FFFFFF