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

问问你自己,看得懂这行代码吗?要是看不懂就点击进来看看吧,要是看的懂得话,可以绕路

1.call:call(thisObj,arg1,arg2,arg3)

[].forEach.call($$("*"),

  就是用$$('a')来替代[],

好 那么到了第二个问题$$('a')是什么意思

2.

$$('a')

你可以在自己的浏览器上面运行一下,就是页面上所有的a标签

然后再继续

3.

function(a){}

无疑就是$$('a')组成的数组要进行的回调函数了

好我们再看里面的东西

4.~~

看在浏览器上面的运行

var a=12.233
~~a
12


var b=-123.455
~~b
-123

  所以~~的作用就相当于parseInt

5.1<<24

也就是1向左移24位

也就是2的24次方

6.toString(16)

就是把数字转换成16进制的字符串

 

原文地址:https://www.cnblogs.com/lwwen/p/6839840.html