lodash 部分方法

函数方法

  1. _.after(n, func)
function after(n, fn) {
    return function (...args) {
        if(--n<1) {
            fn.apply(null, args);
        }
    }
}

before也类似。

  1. _.ary(func, [n=func.length])
function ary(fn, length) {
    return function (...args) {
        fn.apply(null, args.splice(0, length));
    }
}
  1. _.curry(func, [arity=func.length]) 函数currying

功能描述:创建一个函数,该函数接收 func 的参数,要么调用func返回的结果,如果 func 所需参数已经提供,则直接返回 func 所执行的结果。或返回一个函数,接受余下的func 参数的函数,可以使用 func.length 强制需要累积的参数个数

function curry(fn, length) {
    let args = [];
    length = length|| fn.length;
    return function inner(...arg) {
        args = args.concat(arg);
        if(length) {
            if(args.length<length) {
                // console.log('inner');
                return inner;
            } else {
                return fn.apply(null, args)
            }
        }
    }
}
  1. _.debounce(func, [wait=0], [options={}])

参考:

  1. debouncing-throttling-explained-examples
  2. throttle vs debounce
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容