当前位置: 首页 > news >正文

js的防抖与节流

目录

一、防抖

实现方式

二、节流

实现方式


一、防抖

所谓防抖,单位时间内,某个动作只能执行矗后一次,可以用在搜索框业务中。

 性能优化的手段

防抖 --- 在同一时间内 频繁触发事件,只处理最后一次

实现方式

1、用第三方库Lodash防抖的方法

   document.querySelector('input').addEventListener('input',_.debounce(function () {console.log('输入')}, 400))

2、手写实现

思路:

        当事件发生,不立即执行事件回调。给个500毫秒后执行事件回调(定时器),在500毫秒内

        再次触发事件,先取消上次的定时器,再重新开启一个定时器

   function debounce(fn, t) {let setIdreturn function () {clearTimeout(setId)setId = setTimeout(function () {fn()}, t)}}

二、节流

所谓节流,单位时间内,某个动作只能执行一次可以用在鼠标移动、页面尺寸缩放resize、滚动条滚动等场景

 性能优化的手段

  节流 - 在同一时间内 频繁触发事件,只执行一次

实现方式

1、用第三方库Lodash节流的方法

     document.querySelector('button').addEventListener('click',_.throttle(function () {console.log('发请求')}, 3000))

2、手写实现

思路

当第一次事件发生,把回调函数放到定时器 setTimeout(function () {回调调用},1000) 并且设置开关 把开关状态为true

当第二次事件发生  判断开关状态 false 可以处理当前回调, true返回

  function throttle(fn, t) {let flag = false // 一开始 false表示没有任务执行return function () {if (flag) returnflag = truesetTimeout(function () {fn()flag = false}, t)}}

相关文章:

js的防抖与节流

目录 一、防抖 实现方式 二、节流 实现方式 一、防抖 所谓防抖,单位时间内,某个动作只能执行矗后一次,可以用在搜索框业务中。 性能优化的手段 防抖 --- 在同一时间内 频繁触发事件,只处理最后一次 实现方式 1、用第三方库Lodash防抖的…...

中职组网络安全-Windows操作系统渗透测试 -20221219win(环境+解析)

B-4:Windows操作系统渗透测试 任务环境说明: 服务器场景:20221219win 服务器场景操作系统:Windows(版本不详)(封闭靶机) 1.通过本地PC中渗透测试平台Kali对服务器场景Server08进行系统服务及版本扫描渗透测试,并将该操作显示结果中1433端口对应的服务版本信息作为F…...

git本地账户如何从一台电脑迁移到另外一台

为了表述方便,我们此处用旧电脑、新电脑指代。 在新电脑上安装git 例如,我旧电脑上安装的git版本是2.33.1版本,新电脑安装git的版本是2.43.0,这不妨碍迁移。 将git的全局配置文件从旧电脑拷贝到新电脑 Git的全局配置文件&…...

HOOPS Web平台助力开发3D应用,实现超大规模3D web轻量化渲染与数据格式转换!

一、包含的软件开发工具包 HOOPS Web平台帮助开发人员构建基于Web的工程应用程序,提供高级3D Web可视化、准确快速的CAD数据访问和3D数据发布。 HOOPS Web平台包括三个集成软件开发工具包 (SDK): (1)Web端3D可视化引擎 HOOPSCom…...

GDB Debugging Notes

1 Debugging programs using gdb 1.1 gdb简介 gdb是一个功能强大的调试工具,可以用来调试C程序或C程序。在使用这个工具进行程序调试时,主要涉及下面几个方面的操作: 启动程序:在启动程序时,可以设置程序运行环境。设置断点:程序…...

Azure Machine Learning - 创建Azure AI搜索服务

目录 准备工作查找 Azure AI 搜索产品/服务选择订阅设置资源组为服务命名选择区域选择层创建服务配置身份验证扩展服务何时添加第二个服务将多个服务添加到订阅 Azure AI 搜索是用于将全文搜索体验添加到自定义应用的 Azure 资源,本文介绍如何创建Azure AI搜索服务 …...

鸿蒙(HarmonyOS)应用开发——安装DevEco Studio安装

前言 HarmonyOS华为开发的操作系统,旨在为多种设备提供统一的体验。它采用了分布式架构,可以在多个设备上同时运行,提供更加流畅的连接和互动。HarmonyOS的目标是提供更高的安全性、更高效、响应更快的用户体验,并通过跨设备功能…...

成都数字孪生技术推进制造业升级,工业物联网可视化应用加速

成都数字孪生技术推进制造业升级,工业物联网可视化应用加速。灯塔工厂转型的关键在于第四次工业革命新技术的应用。数字孪生灯塔工厂是工业4.0技术的应用典范,工业4.0的核心技术包括:数字孪生、大数据分析,工业物联网,…...

管理类联考——数学——汇总篇——知识点突破——代数——函数——记忆

文章目录 整体文字提炼图像绘画 考点记忆/考点汇总——按大纲 本篇思路:根据各方的资料,比如名师的资料,按大纲或者其他方式,收集/汇总考点,即需记忆点,在通过整体的记忆法,比如整体信息很多&am…...

Flash Attention:高效注意力机制的突破与应用

注意力机制彻底改变了自然语言处理和深度学习领域。它们允许模型在执行机器翻译、语言生成等任务时专注于输入数据的相关部分。 在这篇博客[1]中,我们将深入研究被称为“Flash Attention”的注意力机制的突破性进展。我们将探讨它是什么、它是如何工作的&#xff0c…...

Flutter开发警告Constructors in ‘@immutable‘ classes should be declared as ‘const‘

文章目录 警告信息报错代码警告原因修改后的代码 警告信息 Flutter开发遇到如下警告 Constructors in ‘immutable’ classes should be declared as ‘const’. 报错代码 class TaskWidget extends StatefulWidget {final String title;final bool isChecked;final int ord…...

想当老师应该去学什么专业

专业选择是决定未来职业发展的重要步骤,如果你也想成为一名老师,那么这五个专业可能会适合你! 教育学专业 教育学专业是培养教育理论和方法的学科,这些理论知识将帮助你理解教学过程、学生发展、课程设计和评估。该专业将让你全面…...

【LM、LLM】浅尝二叉树在前馈神经网络上的应用

前言 随着大模型的发展,模型参数量暴涨,以Transformer的为组成成分的隐藏神经元数量增长的越来越多。因此,降低前馈层的推理成本逐渐进入视野。前段时间看到本文介绍的相关工作还是MNIST数据集上的实验,现在这个工作推进到BERT上…...

鸿蒙4.0开发笔记之ArkTs语言基础与基本组件结构(四)

文章声明&#xff1a;本文关于HarmonyOS系统的部分内容和描述借鉴于华为官网的“HarmonyOS开发者学堂”&#xff0c;有需要的也可以进入官网查看。<HarmonyOS第一课>ArkTS开发语言介绍 一、ArkTs语言介绍 ArkTS是鸿蒙系统&#xff08;HarmonyOS&#xff09;优选的主力应…...

Another app is currently holding the yum lock; waiting for it to exit...

今天使用yum进行下载的时候报错 解决办法&#xff1a; 执行 rm -f /var/run/yum.pid 然后重新运行yum指令即可&#xff0c;发现已经可以正常下载啦&#xff01;...

size和shape的区别与联系

对于Numpy数据类型 shape和size都是属于Numpy的属性 arr.shape 将返回一个包含两个元素的元组&#xff0c;例如 (m, n)&#xff0c;其中 m 表示数组的行数&#xff0c;n 表示数组的列数。arr.size 将返回数组中元素的总数。 举例: 输入&#xff1a; import numpy as np# 创…...

浅谈STL中的分配器

分配器是STL中的六大部件之一&#xff0c;是各大容器能正常运作的关键&#xff0c;但是对于用户而言确是透明的&#xff0c;它似乎更像是一个幕后英雄&#xff0c;永远也不会走到舞台上来&#xff0c;观众几乎看不到它的身影&#xff0c;但是它又如此的重要。作为用户&#xff…...

禁止指定电脑程序运行的2种方法

你可能要问了&#xff0c;为什么要禁止电脑程序运行呢&#xff0c;因为有的公司要净化公司的工作环境&#xff0c;防止某些刺头员工在公司电脑上瞎搞。也有部分家长&#xff0c;是为了防止自己家的孩子利用电脑乱下载东西。 今天就分享2种禁止指定电脑程序运行的方法&#xff1…...

【Redis】前言--redis产生的背景以及过程

一.介绍 为什么会出现Redis这个中间件&#xff0c;从原始的磁盘存储到Redis中间又发生了哪些事&#xff0c;下面进入正题 二.发展史 2.1 磁盘存储 最早的时候都是以磁盘进行数据存储&#xff0c;每个磁盘都有一个磁道。每个磁道有很多扇区&#xff0c;一个扇区接近512Byte。…...

Java面试-微服务篇-SpringCloud

Java面试-微服务篇-SpringCloud SpringCloud 常见组件注册中心Eureka, Nacos负载均衡Ribbon服务雪崩, 熔断降级微服务的监控来源 SpringCloud 常见组件 通常情况下 Eureka: 注册中心Ribbon: 负载均衡Feign: 远程调用Hystrix: 服务熔断Zuul/Gateway: 网关 SpringCloudAlibaba…...

Laratrust检查器架构解析:深入理解权限验证机制

Laratrust检查器架构解析&#xff1a;深入理解权限验证机制 【免费下载链接】laratrust Handle roles and permissions in your Laravel application 项目地址: https://gitcode.com/gh_mirrors/la/laratrust Laratrust是Laravel应用中处理角色和权限的强大工具&#xf…...

OMC - 03 从 0 到高效:Oh My ClaudeCode 安装与实践全指南

文章目录Pre一、OMC 是什么&#xff1a;给 Claude Code 装上一套「多 Agent 引擎」二、安装前的准备&#xff1a;环境与依赖一览1. 必要条件检查2. 各平台 tmux 安装速查表3. 可选&#xff1a;多 AI 供应商 CLI三、理解 OMC 的双界面&#xff1a;插件 vs CLI1. 两种界面一览2. …...

2026年公司地址变更指南:这五份资料缺一不可

公司经营地址变更&#xff0c;看似只是换个地方办公&#xff0c;实则牵一发而动全身。无论是业务扩张的同区搬迁&#xff0c;还是战略调整的跨区迁移&#xff0c;一旦资料准备不全或流程出错&#xff0c;轻则耽误数月时间&#xff0c;重则导致企业被列入经营异常名录&#xff0…...

小体积霍尔微流量计RLL2518H国产替代瑞士迪格曼斯Digmesa流量传感器

在精密流体控制领域&#xff0c;超小流量的精准监测始终是咖啡机、净水器、智能卫浴、医疗仪器等设备的核心技术难点。长期以来&#xff0c;瑞士迪格曼斯&#xff08;Digmesa&#xff09;NanoDM60系列&#xff08;93N-6211&#xff09;凭借微型化结构与稳定性能&#xff0c;占据…...

【限时解密】Loom响应式项目CI/CD流水线重构方案(GitHub Actions + JUnit 5.12+ Loom-aware Profiling插件)

第一章&#xff1a;Java 项目 Loom 响应式编程转型指南 2026 最新趋势 Java 平台在 2026 年已全面拥抱 Project Loom 的虚拟线程&#xff08;Virtual Threads&#xff09;与结构化并发&#xff08;Structured Concurrency&#xff09;&#xff0c;并与响应式编程范式深度协同。…...

华为OD机试真题 新系统 2026-04-19 PythonJS 实现【8位LED控制器】

目录 题目 思路 Code 题目 有一个8位LED控制器&#xff0c;包含8个LED灯(编号0-7)&#xff0c;初始状态全灭&#xff0c;用8位二进制表示为:00000000。控制器可以接收以下三种指令: Lx:L表示点亮操作&#xff0c;x表示LED的编号(0一7)&#xff0c;操作得到的结果是:点亮第x个…...

华为/小米手机改了分辨率就乱套?一个BaseActivity搞定Android字体缩放适配

Android字体缩放适配终极方案&#xff1a;BaseActivity解决华为/小米分辨率修改乱象 每次测试报告里出现"华为手机改了分辨率后界面崩了"的反馈&#xff0c;我都忍不住想摔键盘。去年我们团队就因为这个看似简单的适配问题&#xff0c;硬生生拖了两周进度。后来发现&…...

逆向分析必备:用Frida+ADB真机调试的5个高阶技巧(含ARM/X86架构选择指南)

逆向工程实战&#xff1a;Frida与ADB真机调试的架构适配与效率优化 在移动安全研究和逆向分析领域&#xff0c;真机调试往往比模拟器环境更具挑战性&#xff0c;也更能反映真实场景下的应用行为。当Java层与Native代码交互频繁时&#xff0c;不同CPU架构带来的兼容性问题常常让…...

通用ADC芯片测试:其TSSOP16、QFN16封装与德诺嘉电子芯片测试座角色应用

在车规级电子&#xff08;如车载传感器、电池管理系统&#xff09;与医疗电子&#xff08;如便携式诊断设备、生命体征监测仪器&#xff09;领域&#xff0c;通用ADC&#xff08;模数转换&#xff09;芯片作为模拟信号与数字信号的“桥梁”&#xff0c;其性能直接决定设备的数据…...

号令天下专业版:祸害磁场中间夹0有什么影响

祸害磁场中间夹入数字0所产生的影响&#xff0c;可从多个维度展开深入剖析。祸害磁场中间夹0究竟有着怎样的影响呢&#xff1f;祸害磁场的固有特性祸害磁场本身与数字0相结合&#xff0c;往往被视作带有一定负面能量。就拿祸害磁场来说&#xff0c;它通常和出色的口才紧密相连&…...