【前端手撕】防抖节流

碎碎念

好昨天是休息日。晚上吃了泰餐,泰奶狠狠发力于是两点半还睡不着,想了好多好多事情。

今天起来也累累的。有点担心自己的身体会不会又变差了最近还是严格控糖吧,以及也该恢复训练计划了!

今天在计划里加入了手写代码,都慢慢推进吧。

防抖

javascript 复制代码
function debounce(fn, delay) {
	let timer = null
	const _debounce = function (...args){ // 剩余参数
		if(timer) clearTimeout(timer) // 重复调用清除前面的
		timer = setTimeout(() => {
			fn.apply(this, args) // 传参调用
		}, delay)
	}
	return _debounce
}

节流

javascript 复制代码
// 利用时间戳
function throttle(fn, delay) {
	let last = 0
	const _throttle = function(...args) {
		const now = new Date().getTime()
		if (now - last >= delay) {
			fn.apply(this, args)
			last = now
		} 
	}
	return _throttle
}
相关推荐
MemoriKu1 小时前
Flutter 相册 APP 视频模态稳定化实战:从视频抽帧、Embedding 元数据到 Android 真机启动修复
android·开发语言·前端·flutter·架构·音视频·embedding
lichenyang4531 小时前
ArkUI 票根卡片:PathShape 真挖洞,shadow 沿凹陷外发光
前端
Cache技术分享1 小时前
432. Java 日期时间 API - 时间工具 TemporalQuery 详解
前端·后端
假如让我当三天老蒯2 小时前
暂时性死区是否和闭包是相背的呢(自学用)
前端·javascript
渣波2 小时前
前端开发主页面小技巧
前端·javascript
柯克七七2 小时前
我用3个周末重构了公司的前端项目,老板没发现,但同事都来找我要代码了
前端
bonechips2 小时前
JS:同步与异步,从单线程到 Promise 的编程之路
前端·javascript
如果超人不会飞2 小时前
TinyVue Pager分页组件使用指南
前端·vue.js
看谷秀2 小时前
Git笔记
前端