【前端学习】—函数节流(九)

【前端学习】---函数节流(九)

一、什么是函数节流

函数节流:规定在一个单位时间内,事件响应函数只能被触发一次,如果这个单位时间内触发多次函数,只有一次生效。

二、函数节流使用场景

  • window.onresize事件
  • mousemove事件
bash 复制代码
<script>
      //window.onresize
      //单位时间内 只触发一次
      //1、返回值是一个函数
      //2 、开启定时器
      //3、如果定时器存在直接返回false
      //4、定时器内部清空定时器 并且把timer置为null,然后执行我们的事件响应函数


      function throttle(fn, interval) {
        let timer;
        return (event) => {
          if (timer) {
            return false;
          }
          timer = setTimeout(() => {
            clearTimeout(timer);
            timer = null;
            fn(event);
          }, interval);
        };
      }

      window.onresize=throttle(function(event){
         console.log(`event`,event);
      },1000)
    </script>


相关推荐
风骏时光牛马几秒前
Bash脚本高阶实战与常见报错完整代码案例详解
前端
kartjim4 分钟前
我用 AI 一小时写了一个世界杯数据可视化平台|前端 VibeCoding 初体验
前端·程序员·ai编程
lichenyang4535 分钟前
从一个 WebView Demo 开始,理解 ASCF 小程序底座到底在做什么
前端
牧艺5 分钟前
用 Next.js 搭建 AI Agent 前端编排:从 Plan 到 SSE Trace 的完整实践
前端·agent
行者全栈架构师6 分钟前
UniApp集成vk-uview-ui组件库详解:打造高效UI开发体验
前端·vue.js
林希_Rachel_傻希希11 分钟前
js里面的proxy理解。以及vue3响应式数据设计底层
前端·javascript·面试
sunrains12 分钟前
uniapp x 动态Tabbar(切换无闪烁)+动角标+主题切换+自定义tabbar页面导航栏样式设置 支持服务端动态配置根据角色动态设置Tabbar
前端
把马铃薯变成土豆12 分钟前
前端Stripe跨境支付对接感想
前端·源码
牧艺14 分钟前
用 Three.js 实现一个浏览器端 3D 看车的项目
前端·three.js
hunterandroid16 分钟前
WorkManager:可靠的后台任务调度
前端