前端 JS 基础面试题共52篇

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

面试题:escape、encodeURI、encodeURIComponent 的区别是什么?

escape、encodeURI 和 encodeURIComponent 都是 JavaScript 中用于对字符串进行编码的函数,主要用于处理 URL 或查询参数中的特殊字符。但它们的作用范围、编码规则和现代推荐程度有显著区别。 ...
程序百科的头像-程序百科程序百科7个月前
5610

面试题:JavaScript 中 Map 和 Object 的区别是什么?

Map 和 Object 都可以用来存储键值对,但它们在设计、特性和使用场景上有显著区别。理解这些差异对于选择合适的数据结构至关重要。 核心区别对比 特性MapObject键的类型任意类型(对象、函数、...
程序百科的头像-程序百科程序百科7个月前
3714

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

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

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

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

面试题:什么是 DOM 和 BOM?

DOM 和 BOM 是 JavaScript 操作浏览器环境的两个核心概念,它们共同构成了 Web 前端开发的基础。 1. DOM (Document Object Model - 文档对象模型) 定义:DOM 是 HTML 或 XML 文档的编程接口。它...
程序百科的头像-程序百科程序百科7个月前
5315

面试题:const 对象的属性可以修改吗?

这是一个很好的面试题,答案是:可以,在大多数情况下。 const 关键字在 JavaScript 中的作用是创建一个常量引用,而不是创建一个不可变的值。这需要根据 const 声明的是什么类型的值来具体分析...
程序百科的头像-程序百科程序百科7个月前
4110

面试题:Object.assign 和对象扩展运算符有什么区别?是深拷贝还是浅拷贝?

Object.assign 和对象扩展运算符(...)在功能上非常相似,都用于浅拷贝对象属性。它们的主要区别在于语法、使用场景和一些细微的行为差异。 1. 功能与相似性 两者都用于将一个或多个源对象的可...
程序百科的头像-程序百科程序百科7个月前
9615

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

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

面试题:isNaN 和 Number.isNaN 函数有什么区别?

isNaN() 和 Number.isNaN() 都是 JavaScript 中用于检查一个值是否为 NaN(Not-a-Number)的函数,但它们的行为有本质区别,尤其是在处理非数字类型的输入时。 一、isNaN()(全局函数) 行为: ...
程序百科的头像-程序百科程序百科7个月前
4815

面试题:为什么 JavaScript 函数的 arguments 参数是类数组而不是数组?如何遍历类数组?

这是一个很好的问题,它触及了 JavaScript 语言设计和历史演变的细节。 为什么 arguments 是类数组(Array-like),而不是真正的数组? arguments 对象是函数内部的一个特殊对象,它包含了函数...
程序百科的头像-程序百科程序百科7个月前
718