以下是一些2025年前端高频面试题汇总,附带简要答案供参考:
1. 什么是闭包?它有什么用?
答案:闭包是指一个函数可以访问其外部作用域的变量,即使外部函数已经返回。闭包常用于数据封装、私有变量和函数工厂等场景。
2. 解释一下事件冒泡和事件捕获。
答案:事件冒泡是指事件从最具体的元素(目标元素)向上传播到最不具体的元素(document)。事件捕获则是从最不具体的元素向下传播到目标元素。可以通过 addEventListener
的第三个参数控制。
3. 什么是虚拟 DOM?它的工作原理是什么?
答案:虚拟 DOM 是一种轻量级的 DOM 表示,用于提高性能。它通过在内存中维护一个树状结构,减少直接操作真实 DOM 的次数。每次更新时,先在虚拟 DOM 上进行操作,再通过 diff 算法计算出最小的变化,最后将这些变化应用到真实 DOM 上。
4. 解释一下 CSS 盒子模型。
答案:CSS 盒子模型是指每个元素在页面上占据的空间由边距&