更新记录

1(2021-11-09)

添加


平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
app-vue app-nvue
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari

防抖节流函数

备份防抖节流函数,

tips 防抖函数

非立即执行: delay时间内,点击的最后一次执行函数,需要等待delay时间后才执行fn

立即执行:立即执行,需要delay时间后才能执行下一次fn

/**
 * @param {Function} fn 需要执行的方法,因this指向问题,建议不使用箭头函数,
 * @param {Number} delay 间隔时间,默认值100
 * @param {Boolean} promptly 是否立即执行,默认false
 * **/
const debounce = (fn,delay = 100,promptly) => {
    let timer = null;
    return function(...args) {
        // 立即执行
        if(promptly) {
            // 当timer为null时执行
            if(!timer) fn.apply(this,args);
            if(timer) {
                clearTimeout(timer)
            }
            timer = setTimeout(() => {
                timer = null;
            },delay)
        }else {
            if(timer) {
                clearTimeout(timer)
            }
            timer = setTimeout(() => {
                fn.apply(this,args);
            },delay)
        }
    }
}

tips 节流函数

每隔delay时间内执行一次fn函数,可用于页面滚动执行

/**
 * @param {Function} fn 需要执行的方法,因this指向问题,建议不使用箭头函数,
 * @param {Number} delay 间隔时间,默认值100
 * **/
const throttle = (fn,delay = 100) => {
    let valid = true;
    return function(...args) {
        if(!valid) {
            return 
        }
        valid = false;
        fn.apply(this,args)
        setTimeout(() => {
            valid = true
        },delay)
    }
}

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问