Skip to content
How I Make Cookies
Go back

常用代码片段收藏

记录一些我经常用到的代码片段,省得每次都去搜索。

Table of contents

Open 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;
}

持续更新中…


Share this post on:

Previous Post
富媒体内容测试