话不多说,直接上代码: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
。