前端 JS 基础面试题共52篇

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

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

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

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

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

面试题:ajax、axios、fetch 的区别是什么?

Ajax、Axios 和 Fetch 都是用于在浏览器中发起 HTTP 请求以实现异步数据交互的技术,但它们在概念层级、API 设计和功能上存在显著区别。 1. Ajax (Asynchronous JavaScript and XML) 本质:不是...
程序百科的头像-程序百科程序百科21天前
2712

面试题:typeof 和 instanceof 有什么区别?

typeof 和 instanceof 都是 JavaScript 中用于类型检查的操作符,但它们的用途、工作原理和适用场景有显著区别。 一、typeof 操作符 作用: 返回一个表示操作数基本类型的字符串。 主要用于检查...
程序百科的头像-程序百科程序百科19天前
2515

面试题:JavaScript 脚本延迟加载的方式有哪些?

JavaScript 脚本的延迟加载(Lazy Loading)指的是将脚本的加载或执行推迟到特定时机,以优化页面初始加载性能,避免阻塞关键渲染路径。它与异步加载(async)有重叠,但更侧重于“推迟”这一行...
程序百科的头像-程序百科程序百科21天前
476

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

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

面试题:Object.is() 与比较操作符 == 和 === 的区别是什么?

Object.is()、==(相等)和 ===(严格相等)都是 JavaScript 中用于比较两个值是否相等的操作,但它们在处理某些特殊情况时有显著区别。 一、核心区别概览 比较方式名称是否有类型转换特殊情况...
程序百科的头像-程序百科程序百科19天前
537

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

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

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

typeof null 的结果 typeof null 的结果是 'object'。 这是一个在 JavaScript 早期就存在的历史遗留 bug。 为什么是 'object'? 1. 历史原因(C 语言风格的实现) JavaScript 的最初版本(由 Br...
程序百科的头像-程序百科程序百科19天前
5915

面试题:说说你对 JSON 的理解?

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它基于 JavaScript 的一个子集,但作为一种独立于语言的文本格式,被广泛用于系统间的数据传输和存储。 1. 基本语法与结构 JSO...
程序百科的头像-程序百科程序百科21天前
3413