前端 JS 基础面试题共52篇

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

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

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

面试题:JavaScript 中 || 和 && 操作符的返回值是什么?

在 JavaScript 中,||(逻辑或)和 &&(逻辑与)操作符的返回值并不总是布尔值。它们会返回实际参与比较的操作数之一,而不是简单的 true 或 false。 这是由 JavaScript 的短路求值(Sh...
程序百科的头像-程序百科程序百科6个月前
4912

面试题:use strict 是什么意思?使用它有什么区别?

'use strict'; 是 JavaScript 中的一个指令,用于开启严格模式(Strict Mode)。它不是一条语句,而是一个字面量表达式,告诉 JavaScript 引擎以更严格的标准来解析和执行代码。 你可以将 'use ...
程序百科的头像-程序百科程序百科6个月前
4112

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

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

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

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

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

在 JavaScript 中,当一个非布尔值被用于需要布尔值的上下文(如 if 语句、while 循环、逻辑运算符 ||/&&/! 等)时,JavaScript 会自动将其转换为布尔值。这个过程称为隐式类型转换或强...
程序百科的头像-程序百科程序百科6个月前
4711

面试题:常见的 DOM 操作有哪些?

DOM (Document Object Model) 操作是前端开发的核心技能之一。常见的 DOM 操作可以分为以下几大类: 1. 查找/获取元素 (Selecting/Getting Elements) 这是所有操作的前提。 document.getElement...
程序百科的头像-程序百科程序百科6个月前
3611

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

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

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

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

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

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