首先啥是抖? 抖就是一哆嗦!原本点一下,现在点了3下!不知道老铁脑子是不是很有画面感!哈哈哈哈哈哈典型应用就是防止用户多次重复点击请求数据。代码实现要点:设置一个定时器,通过闭包,抓住定时器变量,控制定时器的添加和清除直接上代码function debounce(fn, time) {let _arguments = argumentslet timeout = nullreturn function () {if (timeout) {clearTimeout(timeout)}timeout = setTimeout(() => {fn.call(this, _arguments)}, time);}}
大家都玩过FPS游戏吧(没玩过???打枪知道了吧!)道具的射速是一定的,不会因为你点击鼠标的速度加快而增加。代码实现要点:通过一个布尔变量作为状态,判断代码是否需要执行直接上代码function throttle(fn, time) {let _arguments = argumentslet canRun = truereturn function () {if (!canRun) returncanRun = falsesetTimeout(() => {fn.call(this, _arguments)canRun = true}, time);}}
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号