[].forEach.call($$("*"),function(a){ a.style.outline="1px solid #"+(~~(Math.random()*(1<<24))).toString(16) })
2017-05-11 10:54 改吧 阅读(2774) 评论(1) 编辑 收藏 举报问问你自己,看得懂这行代码吗?要是看不懂就点击进来看看吧,要是看的懂得话,可以绕路
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进制的字符串