js技能

1.如何还有页面中所有不重复的元素

var a=docment.querySelectorAll("*")  //拿到伪数组(不能用数组的方法)

slice :截取数组并返回新的数组

a=Array.prototype.slice.apply(a)//转化成数组  因为伪数组没有数组的方法,需要借助apply,call改变this指向,调用数组中的slice方法变成正真的数组

a=a.map(v=>{

return v.tagName

})

数组去重

a=new Set(a);将数组转成set集合(所有成员都是不重复的,如果有重复的,则会去除重复)

集合转数组

a=Array.form(a);

更简化:

可以使用使用扩展运算符

[...new Set([...docment.querySelectorAll("*")].map(v->v.tagName))]

 

2.宏任务和微任务执行顺序

而宏任务一般是:包括整体代码script,setTimeout,setInterval。

微任务:Promise,process.nextTick。

 

posted @ 2021-12-29 14:30  易粤枫  阅读(52)  评论(0)    收藏  举报