📄 代码片段收藏
防抖函数 (JavaScript)
function debounce(fn, delay) {
let timer;
return function(...args) {
clearTimeout(timer);
timer = setTimeout(() => fn.apply(this, args), delay);
};
}
// 使用:窗口resize事件防抖
window.addEventListener('resize', debounce(() => {
console.log('resized');
}, 300));
防抖常用于输入框搜索、窗口缩放等高频事件优化。
Promise 基本使用与链式调用 (JavaScript)
// 模拟异步请求
function fetchData(url) {
return new Promise((resolve, reject) => {
setTimeout(() => {
if (url) {
resolve(`数据来自 ${url}`);
} else {
reject('URL 无效');
}
}, 1000);
});
}
// 链式调用
fetchData('https://api.example.com/user')
.then(data => {
console.log(data);
return fetchData('https://api.example.com/posts');
})
.then(posts => console.log(posts))
.catch(err => console.error(err));
Promise 用于处理异步操作,通过 then/catch 实现链式调用,避免回调地狱。
CSS Grid 常用布局
.container {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
}
.item {
background: #eef2f8;
padding: 20px;
}
三列等宽布局,间距20px。