feat: 防抖函数

master
LCJ-MinYa 10 months ago
parent 9a401f2821
commit b6eb8b0756

@ -27,4 +27,39 @@ function useBubbleSort() {
bubbleSort(arr);
}
useBubbleSort();
/**
* 第二题 1. 防抖函数
* 防抖函数的作用是当函数被多次调用时只有当函数执行结束后才会执行一次防止函数被频繁调用
* 防抖函数的实现原理是在函数执行的过程中设置一个定时器当函数执行结束后清除定时器这样就保证了函数只执行一次
* 应用场景一般有
* 1. 文本输入框的实时搜索功能用户输入字符后函数会在输入结束后才执行防止函数执行过于频繁
* 2. 页面滚动时函数只在页面停止滚动后才执行防止函数执行过于频繁
* 3. 表单提交时函数只在用户提交表单后才执行防止函数执行过于频繁
* 4. 窗口大小改变时函数只在窗口大小改变结束后才执行防止函数执行过于频繁
*/
function useDebounce() {
const debounce = (fn, delay) => {
let timer = null;
return function (...args) {
if (timer) {
clearTimeout(timer);
}
timer = setTimeout(() => {
fn.apply(this, args);
}, delay);
};
};
window.addEventListener(
'resize',
debounce(() => {
console.log('窗口大小改变了');
}, 200)
);
}
/**
* 第三题 1. 节流函数
*/
</script>

Loading…
Cancel
Save