技术文摘
八个工程必用的 JavaScript 代码片段(推荐加入项目)
2024-12-31 04:06:08 小编
八个工程必用的 JavaScript 代码片段(推荐加入项目)
在 JavaScript 开发中,有一些代码片段是在各种工程项目中经常会用到的。它们不仅能提高开发效率,还能优化代码质量。以下为您介绍八个这样的实用代码片段。
- 数组去重
function uniqueArray(arr) {
return Array.from(new Set(arr));
}
这个函数可以轻松去除数组中的重复元素。
- 深拷贝对象
function deepCopy(obj) {
return JSON.parse(JSON.stringify(obj));
}
确保在复制对象时,不会因为引用而导致意外的修改。
- 防抖函数
function debounce(func, delay) {
let timer;
return function(...args) {
clearTimeout(timer);
timer = setTimeout(() => {
func.apply(this, args);
}, delay);
};
}
用于限制频繁触发的函数,避免不必要的计算。
- 节流函数
function throttle(func, delay) {
let lastExecuted = 0;
return function(...args) {
const now = new Date().getTime();
if (now - lastExecuted >= delay) {
func.apply(this, args);
lastExecuted = now;
}
};
}
控制函数在一定时间内的执行频率。
- 格式化日期
function formatDate(date, format) {
const map = {
"yyyy": date.getFullYear(),
"MM": (date.getMonth() + 1).toString().padStart(2, '0'),
"dd": date.getDate().toString().padStart(2, '0'),
"HH": date.getHours().toString().padStart(2, '0'),
"mm": date.getMinutes().toString().padStart(2, '0'),
"ss": date.getSeconds().toString().padStart(2, '0')
};
return format.replace(/(yyyy|MM|dd|HH|mm|ss)/g, matched => map[matched]);
}
方便根据特定格式输出日期字符串。
- 随机字符串生成
function generateRandomString(length) {
const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
let result = '';
for (let i = 0; i < length; i++) {
result += characters.charAt(Math.floor(Math.random() * characters.length));
}
return result;
}
在需要随机字符串的场景中非常有用。
- 数据类型判断
function typeOf(obj) {
return Object.prototype.toString.call(obj).slice(8, -1).toLowerCase();
}
准确判断数据的类型。
- 字符串驼峰转下划线
function camelToSnake(str) {
return str.replace(/([A-Z])/g, '_$1').toLowerCase();
}
将这些实用的 JavaScript 代码片段加入您的工程项目中,能够让您的开发更加高效和便捷,提升代码的质量和可维护性。
TAGS: 项目推荐 JavaScript 代码片段 JavaScript 项目 八个工程
- Python 自动化办公:七个 Excel 操作示例
- 15 个基于 Python 的 Docker 容器化实践
- DevOps 全方位解析:从理念至实践
- 一起探讨 Typescript 泛型入门要点
- Python 中易被忽略第二个参数的函数,第三个每日必用且大名鼎鼎
- ASCII、Unicode、UTF-8、utf8mb4 的区别何在?
- C++11 中 nullptr 引入的背后秘辛
- C# 开启线程的四种方式:我们一同探讨
- C# 中 this 关键字的三种用法
- 尤雨溪:前端的这一经典轮子值得打造!
- 面试官提问:消息队列的应用场景有哪些
- C#开源的实用工具类库 集成超 1000 多种扩展方法
- Spring 中应用了哪些设计模式
- 现代 JavaScript 的八种响应式模式
- 面试官:Netty 核心组件有哪些?