js中的分时函数
文章类型:Javascript
发布者:hp
发布时间:2023-05-30
1:是一种控制函数执行频率的技术(数组分块技术),是一种使用定时器分割循环的技术
2:可以用于限制函数在一定时间内被调用的次数,避免过多的函数调用导致性能问题
3:说白了就是按照一定的时间拆分成一个个的小任务,避免一次性造成页面卡顿或假死,提升用户体验
function throttle(fn, delay) {
let lastCallTime = 0; // 上一次函数调用的时间戳
return function(...args) {
const now = Date.now();
if (now - lastCallTime >= delay) {
// 如果距离上一次调用超过了设定的延迟时间,就执行函数
fn.apply(this, args);
lastCallTime = now;
}
};
}
1:分时函数是限制事件处理函数的触发频率
2:将庞大的数据进行分阶段加载,避免了一次性加载卡顿现象
<script>
//一次性加载
// for(let i=0; i<80;i++){
// let p= document.createElement("p")
// p.innerHTML=i
// document.getElementById("box").appendChild(p)
// }
//定义函数每个200ms加载,加载十次
function timeChunk(total,count,time){
let num=total/8
let startNum=0
let t= setInterval(()=>{
if(startNum<num){
for(let i=0; i<count;i++){
let p= document.createElement("p")
p.innerHTML=i+startNum*8
document.getElementById("box").appendChild(p)
}
startNum++
}else{
clearInterval(t)
}
},time)
}
timeChunk(80,8,200)
</script>