前端 JS 基础面试题共52篇

JavaScript 是前端开发的核心语言,掌握其基础是开发网页应用的必备技能。JavaScript 基础面试题的考察重点包括数据类型、作用域、闭包、原型链、事件处理、DOM 操作、定时器、异步编程(如回调函数)以及常见的内置对象和方法。

面试题:JavaScript 的 == 和 === 有什么区别?

这是一个 JavaScript 中最经典、最基础的面试题,考察对相等性判断和类型转换的理解。 ✅ 核心区别 比较符名称是否进行类型转换推荐使用==相等(松散相等)✅ 是(会进行隐式类型转换)❌ 不推...
程序百科的头像-程序百科程序百科22天前
409

面试题:JavaScript 中 substring 和 substr 函数的区别是什么?

这是一个经典的 JavaScript 字符串操作面试题,考察对字符串截取方法的理解。 substring()、substr() 和 slice() 功能相似但有重要区别。 ✅ 核心区别总结 方法参数是否支持负数状态推荐度subst...
程序百科的头像-程序百科程序百科22天前
2710

面试题:JavaScript 数组的 map 和 forEach 函数中能否通过 break 等语法结束循环?

这是一个很好的 JavaScript 面试题,考察对数组方法底层机制的理解。 ✅ 直接答案: 不能。 map 和 forEach 是数组方法,不是普通的 for 循环,因此无法使用 break、continue 或 return 来直接...
程序百科的头像-程序百科程序百科22天前
219

面试题:JavaScript 中如何合并对象?

这是一个非常实用的 JavaScript 面试题,考察对对象操作和 ES6+ 语法的掌握。合并对象有多种方法,从传统到现代逐步演进。 ✅ 方法一:Object.assign()(ES6,常用) const obj1 = { a: 1, b: 2...
程序百科的头像-程序百科程序百科22天前
3813

面试题:JavaScript 如何判断一个对象是不是空对象?

这是一个常见的 JavaScript 面试题,考察对对象属性遍历和 Object API 的掌握。判断一个对象是否为空对象(即不包含任何自身可枚举属性),有多种方法。 ✅ 方法一:Object.keys()(推荐,简洁...
程序百科的头像-程序百科程序百科22天前
3110

面试题:JavaScript 的 splice 和 slice 函数会改变原数组吗?

这是一个非常典型的 JavaScript 面试题,考察对数组方法副作用的理解。 ✅ 直接答案: splice():会改变原数组 ✅ slice():不会改变原数组 ❌ 🔍 详细解释 1. splice() —— 会修改原数组 spli...
程序百科的头像-程序百科程序百科22天前
347

面试题:JavaScript 中怎么删除数组最后一个元素?

这是一个基础但高频的 JavaScript 面试题。删除数组最后一个元素有多种方法,以下是几种常用方式及其区别: ✅ 方法一:pop() —— 最常用、最推荐 const arr = [1, 2, 3, 4]; const lastElemen...
程序百科的头像-程序百科程序百科22天前
3012

面试题:如何判断网页元素是否到达可视区域?

这是一个非常实用的前端面试题,常用于实现懒加载、无限滚动、埋点曝光等场景。判断元素是否进入可视区域有多种方法,从简单到高级逐步演进。 ✅ 方法一:使用 getBoundingClientRect()(兼容性...
程序百科的头像-程序百科程序百科22天前
2810

面试题:JavaScript 操作数组元素的方法有哪些?

这是一个非常基础但重要的 JavaScript 面试题,考察对数组操作的掌握程度。JavaScript 提供了丰富的数组方法,可以分为 增删改查、遍历、转换、排序、查找、合并 等几大类。 ✅ 一、添加元素(...
程序百科的头像-程序百科程序百科22天前
5114

面试题:JavaScript 中 for…in 和 for…of 的区别是什么?

这是一个非常经典的 JavaScript 面试题,考察对循环机制和数据结构的理解。for...in 和 for...of 看似相似,但用途和行为有本质区别。 ✅ 核心区别总结 特性for...infor...of设计目的遍历对象的...
程序百科的头像-程序百科程序百科22天前
316