当前位置: 首页 > news >正文

前端最新面试题及答案 (2025)

前端最新面试题及答案 (2025)

JavaScript 核心

1. ES6+ 新特性

问题: 请解释 ES6 中 let/const 与 var 的区别,以及箭头函数的特点。

答案:

  • let/const vs var:

  • 作用域: let/const 是块级作用域,var 是函数作用域

  • 变量提升: var会提升变量,let/const不会(有暂时性死区)

  • 重复声明: var允许重复声明,let/const不允许

  • const声明必须初始化且不能重新赋值(对象属性可修改)

  • 箭头函数:

  • 语法更简洁

  • 没有自己的this,继承外层this值

  • 不能作为构造函数使用(new)

  • 没有arguments对象,可用rest参数替代

2. Promise与异步编程

问题: Promise.all、Promise.race、Promise.allSettled有什么区别?

答案:

  • Promise.all:
    所有promise都成功时返回结果数组;任何一个失败立即reject
  • Promise.race:
    第一个settled的promise决定结果(无论成功失败)
  • Promise.allSettled:
    等待所有promise完成(无论成功失败),返回每个的结果状态数组
// Promise.allSettled示例  
Promise.allSettled([promise1, promise2]).then(results => {  
results.forEach(result => {  
if(result.status === 'fulfilled') {  
console.log('成功:', result.value);  
} else {  
console.log('失败:', result.reason);  
}  
});  
});  

React

1. React Hooks

问题: useEffect和useLayoutEffect有什么区别?请给出使用场景示例。

答案:

useEffectuseLayoutEffect
执行时机DOM更新后异步执行DOM更新前同步执行
使用场景API请求、订阅等DOM测量、同步DOM操作
// useLayoutEffect示例:测量DOM元素尺寸  
function MeasureExample() {  
const [size, setSize] = useState({});  
const ref = useRef();  useLayoutEffect(() => {  
setSize({  
width: ref.current.offsetWidth,  
height: ref.current.offsetHeight  
});  
}, []);  return <div ref={ref}>Size: {JSON.stringify(size)}</div>;  
}  
http://www.xdnf.cn/news/444043.html

相关文章:

  • e.g. ‘django.db.models.BigAutoField‘.
  • 【android bluetooth 协议分析 12】【A2DP详解 1】【车机侧蓝牙音乐免切源介绍】
  • JDK 命令行工具大全与学习方法总结 —— 从帮助文档到高效实践
  • 3Dmax传递顶点法线(顶点法线方向传递)教程
  • Java 泛型
  • Ubuntu 系统默认已安装 python,此处只需添加一个超链接即可
  • Windows11 Game Bar
  • 深度解析网闸策略:构建坚固的网络安全防线
  • 【嵌入模型与向量数据库】
  • QT+opencv实现卡尺工具找圆、拟合圆
  • 【LeetCode 热题 100】全排列 / 子集 / 组合总和 / 分割回文串 / N 皇后
  • Manus逆向工程:AI智能体的“思考”与“行动”
  • iOS审核问题及回复
  • 【计算机视觉】OpenCV实战项目:Face-Mask-Detection 项目深度解析:基于深度学习的口罩检测系统
  • 鸿蒙OSUniApp 开发实时聊天页面的最佳实践与实现#三方框架 #Uniapp
  • mysql数据库配置
  • NSSCTF [HNCTF 2022 WEEK4]
  • C盘清理(简单易懂)
  • 行政区划XML接口数据文件
  • 【Spark分析HBase数据】Spark读取并分析HBase数据
  • 高等数学第七章---微分方程(§7.1-§7.3微分方程概念、一阶微分方程、一阶微分线性方程)
  • Selenium-Java版(操作元素)
  • Android App View——团结引擎车机版实现安卓应用原生嵌入 3D 开发场景
  • 智能体制作学习笔记2——情感客服
  • openfeign 拦截器实现微服务上下文打通
  • 【Three.js基础学习】36.particles-morphing-shader
  • React 简介:核心概念、组件化架构与声明式编程
  • De-biased Attention Supervision for Text Classifcation with Causality
  • Beats
  • AI规则引擎:解锁SQL数据分析新姿势