layui.util.debounce
时间: 2023-05-18 09:07:25 浏览: 209
layui.util.debounce 是一个函数节流的工具函数,它可以限制一个函数在一定时间内只执行一次,避免函数被频繁调用而导致性能问题。它的完整代码如下:
layui.util.debounce = function(fn, delay, immediate) {
var timer = null;
return function() {
var context = this,
args = arguments;
clearTimeout(timer);
if (immediate && !timer) {
fn.apply(context, args);
}
timer = setTimeout(function() {
timer = null;
if (!immediate) {
fn.apply(context, args);
}
}, delay);
};
};
使用方法如下:
var myFunction = function() {
console.log('Hello World!');
};
var debouncedFunction = layui.util.debounce(myFunction, 1000);
// 调用 debouncedFunction 时,myFunction 最多只会被执行一次,且至少要间隔 1000 毫秒
debouncedFunction();
debouncedFunction();
debouncedFunction();