记录一些我经常用到的代码片段,省得每次都去搜索。
Table of contents
JavaScript 实用函数
防抖函数
function debounce(fn, delay = 300) {
let timer = null;
return function (...args) {
clearTimeout(timer);
timer = setTimeout(() => fn.apply(this, args), delay);
};
}
// 使用示例
const handleSearch = debounce((query) => {
console.log('Searching:', query);
}, 500);
深拷贝
const deepClone = (obj) => {
if (obj === null || typeof obj !== 'object') return obj;
if (obj instanceof Date) return new Date(obj);
if (obj instanceof Array) return obj.map(item => deepClone(item));
const cloned = {};
for (const key in obj) {
if (obj.hasOwnProperty(key)) {
cloned[key] = deepClone(obj[key]);
}
}
return cloned;
};
配图示例
下面这张图用于测试同目录图片引用:
![]()
Shell 命令
一些常用的命令行操作:
# 查找并删除 node_modules
find . -name "node_modules" -type d -prune -exec rm -rf {} +
# 批量重命名文件
for f in *.jpeg; do mv "$f" "${f%.jpeg}.jpg"; done
# 查看端口占用
lsof -i :3000
CSS 小技巧
/* 文字溢出显示省略号 */
.truncate {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
/* 多行文字溢出 */
.line-clamp-3 {
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
}
持续更新中…