前端工程师必会的10种懒加载实现方案(附真实代码示例)
🧑🏫 作者:全栈老李
📅 更新时间:2025 年 5 月
🧑💻 适合人群:前端初学者、进阶开发者
🚀 版权:本文由全栈老李原创,转载请注明出处。
作为一个每天和性能优化打交道的全栈老李,我见过太多网站因为图片、组件加载过慢而流失用户。懒加载(Lazy Load)就是解决这个痛点的银弹——它让资源只在需要时才加载,今天我就带大家解锁10种实用方案。
基础版:原生IntersectionObserver
现代浏览器自带的观察者API是最优雅的方案。想象有个"电子眼"盯着元素,进入视口就触发加载:
// 全栈老李提示:记得加polyfill兼容旧浏览器
const lazyLoad = (selector = '[data-src]') => {
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
const el = entry.target
el.src = el.dataset.src
observer.unobserve(el) // 加载后取消观察
}
})
})
document.