简单实用的common.utils工具函数合集
发布时间:2023-12-25 11:41:02
common.utils 是一个常用的工具函数合集,提供了一些简单实用的函数,可以方便地在项目中使用。下面是一些常见的工具函数以及其使用例子。
1. isEmpty(obj): 判断一个对象是否为空,如果对象是 null、undefined、空字符串或空数组,返回 true,否则返回 false。
import { isEmpty } from 'common.utils';
console.log(isEmpty(null)); // true
console.log(isEmpty(undefined)); // true
console.log(isEmpty('')); // true
console.log(isEmpty([])); // true
console.log(isEmpty({})); // false
const obj = { name: 'John' };
console.log(isEmpty(obj)); // false
2. isNotEmpty(obj): 与 isEmpty(obj) 相反,判断一个对象是否不为空。
import { isNotEmpty } from 'common.utils';
console.log(isNotEmpty(null)); // false
console.log(isNotEmpty(undefined)); // false
console.log(isNotEmpty('')); // false
console.log(isNotEmpty([])); // false
console.log(isNotEmpty({})); // true
const obj = { name: 'John' };
console.log(isNotEmpty(obj)); // true
3. deepClone(obj): 深拷贝一个对象,返回拷贝后的新对象。
import { deepClone } from 'common.utils';
const obj = { name: 'John', age: 25 };
const cloneObj = deepClone(obj);
console.log(cloneObj); // { name: 'John', age: 25 }
console.log(cloneObj === obj); // false
4. formatTime(time, format): 格式化时间,返回按照指定格式格式化后的时间字符串。
import { formatTime } from 'common.utils';
const time = new Date('2021-01-01T12:00:00Z');
console.log(formatTime(time, 'YYYY-MM-DD')); // 2021-01-01
console.log(formatTime(time, 'HH:mm:ss')); // 12:00:00
console.log(formatTime(time, 'YYYY-MM-DD HH:mm:ss')); // 2021-01-01 12:00:00
5. debounce(func, delay): 防抖函数,延迟执行一个函数,如果在延迟期间内再次触发,重新计时。
import { debounce } from 'common.utils';
function handleInput(e) {
console.log(e.target.value);
}
const debouncedInput = debounce(handleInput, 300);
document.getElementById('input').addEventListener('input', debouncedInput);
6. throttle(func, delay): 节流函数,限制一个函数在一定时间内只能执行一次。
import { throttle } from 'common.utils';
function handleScroll() {
console.log(window.scrollY);
}
const throttledScroll = throttle(handleScroll, 300);
window.addEventListener('scroll', throttledScroll);
这只是 common.utils 提供的一些常用工具函数的例子,还有更多其他的函数可以在项目中使用。在开发中,可以根据需求不断扩展和优化这个工具函数合集,以方便自己和其他开发人员使用。
