简单的节流处理
前期准备:电脑,node环境,编译器
代码功能:鼠标经过打印一个随机数,每次经过时间间隔要大于一秒执行,小于1000毫秒不执行
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>节流demo</title>
</head>
<body>
<script>
function throttle(fn,delay){
var starttime=0;
return function f() {
var nowtime=Date.now();
if (nowtime-starttime>delay){ //上一次和本次相隔时间大于节流时间
fn.call(document); //需要使用document,指向为当前的this(document)
starttime=nowtime;
}
}
}
// 在第一次是立即执行,往后每次执行的间隔和上一次相差 1000ms才会执行
document.onmousemove=throttle(function () {
console.log(Math.random());
},1000);
</script>
PS:新手入坑,有所不足多指教,纠正