JavaScript篇
1、 for 循环,for of和for in的区别:
for 语句用于创建一个循环,它包含了三个可选的表达式,这三个表达式被包围在圆括号之中,使用分号分隔,后跟一个用于在循环中执行的语句(通常是一个块语句)。
for in和for of语句: segmentfault.com/a/119000002…
2、介绍一下节流防抖,并描述具体应用:
函数 防抖,是在一段连续操作结束之后,处理回调,利用clearTimout 和setTimeout 实现。 函数 节流,是在一段连续操作中,每一段时间只执行一次,在频率较高的事件中使用来提高性能。 函数 防抖 关注一段时间内连续触发,只在最后一次执行;而函数 节流 侧重于在一段时间内只执行一次。
应用:www.zoo.team/article/ant…
return break continue 的区别:
return:直接跳出当前的方法,返回到该调用的方法的语句处,继续执行break:在循环体内结束整个循环过程continue:结束本次的循环,直接进行下一次的循环
浏览器事件循环机制
JavaScript 单线程中的任务分为同步任务和异步任务。同步任务会在调用栈中按照顺序排队等待主线程执行,而异步任务则会放入任务队列中等待主线程中任务执行完毕再执行。 主线程中同步任务都执行完毕,这个时候就会去任务队列中按照顺序读取一个任务放入到栈中执行。每次执行完一个任务后都会去读取任务队列有没有任务,有就读取执行,一直循环读取-执行的操作,就形成了事件循环。
实现Array.flat
1.递归
const arr = [1,2,[3,4],[5,6]]
let result = [];
function flat(ary) {
ary.forEach(item => {
if(Array.isArray(item)){
flat(item)
} else {
result.push(item)
}
})
}
flat()