前端 JS 基础面试题共52篇

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

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

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

面试题:JavaScript 中常用的正则表达式有哪些?

正则表达式(Regular Expression)是 JavaScript 中处理字符串的强大工具,用于匹配、搜索、替换和验证文本模式。以下是 JavaScript 中最常用的正则表达式模式及其应用场景。 一、常用正则表达...
程序百科的头像-程序百科程序百科12个月前
529

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

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

面试题:typeof NaN 的结果是什么?

typeof NaN 的结果是 'number'。 解释: NaN 是 'Not-a-Number' 的缩写,表示“不是一个数字”。 尽管它的名字是“不是数字”,但在 JavaScript 的类型系统中,NaN 被归类为 number 类型。 这是...
程序百科的头像-程序百科程序百科12个月前
519

面试题:JavaScript 其他值到数字值的转换规则是什么?

在 JavaScript 中,将其他类型值转换为数字(Number)是一个常见的隐式或显式类型转换过程。理解其规则对于避免计算错误至关重要。 转换主要通过两种方式触发: 显式转换:使用 Number() 构造函...
程序百科的头像-程序百科程序百科12个月前
497

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

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

面试题:== 操作符的强制类型转换规则是什么?

JavaScript 中的 == 操作符(相等操作符)在比较两个值时,会进行隐式类型转换(也称为强制类型转换),以使两边的类型相同后再进行比较。这种机制虽然提供了灵活性,但也容易导致难以预料的结...
程序百科的头像-程序百科程序百科12个月前
489

面试题:JavaScript 如何判断一个对象是否属于某个类?

在 JavaScript 中,判断一个对象是否属于某个类(或更准确地说,是否由某个构造函数创建或在其原型链上)有多种方法,各有优缺点和适用场景。 1. instanceof 操作符 作用:检查一个对象在其原型...
程序百科的头像-程序百科程序百科12个月前
4712

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

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

面试题:JavaScript 中 null 和 undefined 的区别是什么?

null 和 undefined 都表示“无”或“空值”,但在 JavaScript 中有明确的区别。理解它们的不同是掌握 JavaScript 类型系统的关键。 一、核心区别总结 特性undefinednull含义“未定义” —— 变...
程序百科的头像-程序百科程序百科12个月前
4511