JavaScript 解释下面这段代码的意思 / 给所有HTML层添加一个高亮的边框
问题
解释下面这段代码的意思
[].forEach.call($$("*"), function (a) {
a.style.outline = "1px solid #" + (~~(Math.random() * (1 << 24))).toString(16)
})
参考答案
在你的Chrome浏览器的控制台中输入这段代码,你会发现不同HTML层都被使用不同的颜色添加了一个高亮的边框。是不是非常酷?但是,简单来说,这段代码只是首先获取了所有的页面元素,然后使用一个不同的颜色为它们添加了一个1ps的边框。
$$("*")
函数是现代浏览器命令行的API的一部分,它等同于使用document.querySelectorAll
方法。
你可以将一个CSS选择器作为参数传入document.querySelectorAl
l去选取当前页面的元素。
所以如果你想在浏览器的控制台以外使用那个单行代码,你可以用document.querySelectorAll('*')
来替代
[].forEach.call
是借助数组的forEach
方法
这个可以用来分析HTML的层级
更多面试题
如果你想了解更多的前端面试题,可以查看本站的WEB前端面试题 ,这里基本包涵了市场上的所有前端方面的面试题,也有一些大公司的面试图,可以让你面试更加顺利。
面试题 | ||
---|---|---|
HTML | CSS | JavaScript |
jQuery | Vue.js | React |
算法 | HTTP | Babel |
BootStrap | Electron | Gulp |
Node.js | 前端经验相关 | 前端综合 |
Webpack | 微信小程序 | - |
这些题库还在更新中,如果你有不错的面试题库欢迎分享给我,我整理后放上来;人人为我,我为人人,互帮互助,共同提高,祝大家都拿到心仪的Offer!