UNPKG

astuteweb-utils

Version:

机敏web开发常用工具函数

86 lines (74 loc) 1.63 kB
/** * 防抖 * 只在最后一次点击过指定时间才执行 * @export * @param {*} fn * @param {*} wait * @return {*} */ export function debounce(fn, wait) { let timeout = null; return function() { if(timeout !== null) clearTimeout(timeout); timeout = setTimeout(fn, wait); } } /** * 节流 * 高频触发事件时,第一次立即执行,再次触发事件时,如果定时器存在就不执行,直到延迟时间后定时器执行函数并清空定时器,这样便可设置下一个定时器。 * @export * @param {*} fn * @param {*} wait * @return {*} */ export function throttle(fn, wait) { let timer = null; return function() { if(!timer) { timer = setTimeout(() => { fn.apply(this, arguments); timer = null; }, wait) } } } /** *输出警告 * * @export * @param {*} msg * @param {*} err */ export function warn(msg, err) { if(typeof console != 'undefined') { console.warn('warn:' + msg); if(err) { console.warn(err.stack); } } } /** *输出错误 * * @export * @param {*} msg * @param {*} err */ export function err(msg, err) { if(typeof console != 'undefined') { console.error('error:', msg); if(err) { console.err(err.stack); } } } /** *校验是否为函数 * * @export * @param {*} val * @return {*} */ export function isFunction(val) { return typeof val === 'function'; }