前端节流处理demo

简单的节流处理

   前期准备:电脑,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:新手入坑,有所不足多指教,纠正


版权声明:本文为newpepole原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。