您当前的位置: 首页 > 

暂无认证

  • 0浏览

    0关注

    92582博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

闭包 -- 节流函数 -- 笔试 - 10

发布时间:2021-04-07 22:52:00 ,浏览量:0

目录
    • 1、定义
    • 2、html
    • 3、JavaScript
1、定义

节流函数的作用是在限定的时间内函数只执行一次。 1、按钮提交(可以避免重复提交,当然不只这种方法,将按钮设置为不可用也可以)。 2、scroll、mousehover、mousemove 等触发频率高的时候。 主要的原理就是在闭包内设置一个标记,在限定的时间内这个 flag 设置为 true,函数再次点击则让执行,setTimeout 函数执行以后将 flag 设置为 flase,就可以继续执行 。

2、html
 var flag = false; var timer = null; return function() { // 将参数转成数组 var args = [].slice.call(arguments, 0); var context = this; // 如果在限定的时间内 flag 是 true 则直接返回,不让执行 if(flag) { return; } // 函数正在控制中 flag = true; // 执行函数 fn.apply(context, args); // 清除定时器 clearTimeout(timer); timer = setTimeout(function() { // 延时时间过了以后,放开函数控制 flag = false; }, delay); }; }; function fn() { console.log(123); }; // 绑定节流函数 var fn1 = throttle(fn, 2000); 
关注
打赏
1653961664
查看更多评论
立即登录/注册

微信扫码登录

0.4853s