前端 JS 基础面试题共52篇

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

面试题:JavaScript 的 forEach 和 map 方法有什么区别?

forEach 和 map 都是 JavaScript 中用于遍历数组的方法,但它们在目的、返回值和使用场景上有本质的区别。 核心区别总结 特性forEachmap目的执行副作用(如修改外部变量、操作 DOM、打印日志)...
程序百科的头像-程序百科程序百科12个月前
5313

面试题:如何获取安全的 undefined 值?

在 JavaScript 中,undefined 是一个原始值,表示变量已声明但未赋值。然而,在非严格模式(sloppy mode)下,undefined 并不是一个保留字,可以被重新赋值,这可能导致代码出现难以预料的错误...
程序百科的头像-程序百科程序百科12个月前
8113

面试题:什么是 JavaScript 的类数组对象?如何转化为数组?

什么是 JavaScript 的类数组对象? 类数组对象(Array-like Object) 指的是一个普通对象,它具备以下两个关键特征,使其行为类似于数组,但不是真正的 Array 实例: 具有 length 属性:这个属...
程序百科的头像-程序百科程序百科12个月前
687

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

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

面试题:JavaScript 中如何进行隐式类型转换?

JavaScript 中的隐式类型转换(Implicit Type Conversion),也称为强制类型转换(Type Coercion),是指在某些操作中,JavaScript 引擎会自动将一种数据类型转换为另一种数据类型,而无需开发...
程序百科的头像-程序百科程序百科12个月前
7414

面试题:JavaScript 数组的遍历方法有哪些?

JavaScript 提供了多种遍历数组的方法,每种方法都有其特定的用途和特点。以下是主要的数组遍历方法: 1. 传统循环 (Traditional Loops) 这些是最基础、性能通常最好的方法。 for 循环: 最灵活...
程序百科的头像-程序百科程序百科12个月前
6015

面试题:为什么 JavaScript 中 0.1 + 0.2 !== 0.3,如何让其相等?

这是一个经典的 JavaScript 浮点数精度问题。 一、为什么 0.1 + 0.2 !== 0.3? 根本原因:二进制浮点数的精度限制 JavaScript 使用 IEEE 754 标准的 64 位双精度浮点数来表示数字。这种格式无法...
程序百科的头像-程序百科程序百科12个月前
6910

面试题:JavaScript 脚本异步加载如何实现?各有什么区别?

在现代 Web 开发中,异步加载 JavaScript 脚本对于优化页面性能、避免阻塞页面渲染至关重要。以下是几种主要的实现方式及其区别: 1. <script> 标签的 async 属性 语法: <script src=...
程序百科的头像-程序百科程序百科12个月前
698

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

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

面试题:什么是 JavaScript 中的包装类型?

在 JavaScript 中,包装类型(Wrapper Types) 是一种特殊的对象类型,它为原始数据类型(Primitive Types)提供了方法和属性,使得我们能够像操作对象一样操作原始值。 1. 为什么需要包装类型...
程序百科的头像-程序百科程序百科12个月前
8811