防抖节流面试

news/2024/6/18 0:07:36 标签: 前端

1、防抖

1.1、条件

1、高频
2、耗时(比如console不算)
3、以最后一次调用为准
刷到个神评论,回城是防抖,技能cd是节流

1.2、手写

在这里插入图片描述

传参版本

function debounce(fn,delay){
    let timer
    return function(...args){//返回函数必须是普通函数,不能是箭头函数,箭头函数没有this
        timer && clearTimeout(timer)
        timer = setTimeout(()=>{//不能是普通函数,箭头函数没有this才能用的是外面的this
            // apply: 作用就是改变方法内部this的指向, 并能将参数传递给该方法, 最后立即执行这个函数
            fn.apply(this,args)//这个this就是外面的this
        },delay)
    }
}

1.3、应用

瀑布流调整窗口大小


http://www.niftyadmin.cn/n/5466876.html

相关文章

golang语言系列:Web框架+路由 之 Echo

云原生学习路线导航页(持续更新中) 本文是golang语言系列文章,本篇主要对 Echo 框架 的基本使用方法 进行学习 1.Echo是什么 Go 有众多Web框架,Echo 是其中的一个,官网介绍Echo有高性能、可扩展性、极简的特点。使用E…

开源充电桩设备监控系统技术解决方案

开源 | 慧哥充电桩平台V2.5.2(支持 汽车 电动自行车 云快充1.5、云快充1.6 微服务 ) SpringBoot设备监控系统解决方案 一、引言 1.项目背景 随着物联网技术的快速发展,设备的智能化和网络化程度日益提高。在现代工业和信息化的背景下&#x…

使用混沌加密图像(MATLAB)

logistic图像加密是一种基于混沌理论的加密算法,它利用混沌系统的特性,如敏感依赖于初始条件和参数的非线性动态行为,来生成密钥和进行加密解密操作。以下是逻辑加密的基本原理和过程: 基本原理: 混沌系统特性利用:逻辑加密基于混沌系统的特性,利用混沌系统的非线性、不…

前端|babel升级

问题 项目不支持可选链调用过多的 babel 插件 步骤 基础包 dependencies “react-scripts”: “5.0.1” devDependencies “customize-cra”: “^1.0.0”,“react-app-rewired”: “^2.2.1”, 框架包 dependencies “react”: “16.13.1”,“react-dom”: “16.13.1”, …

蓝桥杯刷题-四平方和

四平方和 代码: from copy import deepcopy n int(input()) maxn int(5e6) 10 dic dict() for a in range(maxn):if a * a > n:breakfor b in range(a,maxn):if a * a b * b > n:breakif dic.get(a*ab*b) is None:dic[a*ab*b] (a,b) ans [maxn for _ …

转专业:集成电路、微电子、电子信息选哪个?

目录 集成电路专业 微电子技术专业 电子信息工程专业 综合分析 在考虑转专业到集成电路、微电子或电子信息时,您需要考虑多个因素,包括个人兴趣、专业课程内容、行业前景以及未来就业市场的需求。以下是关于这三个专业的详细分析,以及它们…

OpenGL拾取功能

通过OpenGL实现拾取功能,有两种办法: 几何法:把相机和屏幕坐标相连产生一条射线,再找出被射线击中(即相交)的物体。渲染法:对每个物体进行编号,把编号转换成颜色,再通过FrameBuffer中被拾取到的…

redis特殊数据类型-Hyperloglog(基数统计)用法

一,Hyperloglog介绍 Redis HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定的、并且是很小的。花费 12 KB 内存,就可以计算接近 2^64 个不…