打卡笔记
课程名称:前端校招面试攻略,无惧层层考核,实现Offer零距离
课程章节: 第3章 JavaScript面试题【前端三大基石中的重中之重】
主讲老师:freemen
今天学习的内容包括:
如何实现一个节流函数
课程收获:
什么是函数节流:
规定在一个单位时间内,事件响应函数只能被触发一次,如果这个单位时间内触发多次函数则只有一次生效
代码:
//代码重点 单位时间内 只触发一次;用到定时器;如果定时器存在直接返回false;定时器内部清空,并把timer 设置为null
function throttle(fn, interval){ //传入事件响应函数 和时间间隔
let timer;
return (event)=>{
if(timer){
return false //如果timer存在则不执行代码
}
timer = setTimeout(()=>{
clearTimeout(timer) //把定时器赋给timer 如果同时触发两个定时器就要把前一个定时器清除掉
timer = null;
fn(event) //在执行 事件响应函数前 必须清空定时器,并且把timer设置为null
},interval)
}
}
手写JS这部分知识点对我来说比较难, 也是面试时的重点,代码看懂了,自己写出来还需要一定的练习