前端/移动开发面试题 · JavaScript

前端/移动开发相关岗位面试题。

24989 道真题 · 当前筛选命中 3003 · 更新 2026-08-05

筛选题目已选:JavaScript
第 21 题请解释为什么在 JavaScript 中 0.1 + 0.2 不等于 0.3,以及如何正确比较浮点数。 考察对 IEEE 754 浮点数精度和数值比较处理的理解问题拆解技术原理JavaScript第 22 题如何实现弹幕滚动效果?动画实现方式有哪些,为什么选择 requestAnimationFrame 而不是定时器? 考察前端动画实现原理及性能优化意识性能优化技术原理JavaScript第 23 题WeakMap 和 Map 的区别是什么? 考察对 JavaScript 内存管理与引用语义的理解技术原理JavaScript第 24 题请说明箭头函数中 this 的指向规则,并列举改变 this 指向的常见方法。 考察对箭头函数 this 绑定机制及改变 this 指向方法的理解技术原理方案权衡JavaScript第 25 题请解释 JavaScript 事件循环中宏任务(macrotask)和微任务(microtask)的执行顺序。 考察事件循环机制理解及异步代码执行顺序推断能力问题拆解技术原理JavaScript第 26 题如何监控自己写的 JavaScript 代码?有哪些方法可以捕获异常? 考察前端代码监控意识和异常捕获方法掌握技术原理问题排查JavaScript第 27 题网页上如何实现一个定时器?可否结合 Web Worker 说明? 考察前端定时器机制、精度限制与多线程方案技术原理方案权衡JavaScript第 28 题针对类似3<2<1的长比较字符串,用JS写一个方法依次比较,先讲思路,能用递归吗? 考察对JavaScript链式比较字面量语义的理解以及迭代/递归实现长比较字符串解析的能力编码实现问题拆解技术原理JavaScript第 29 题请实现一个数组拍平函数,将任意嵌套的数组转换为一维数组,并说明如何处理深层嵌套和性能问题。 考察对递归与迭代编程、边界处理及复杂度分析的能力编码实现问题拆解技术原理JavaScript第 30 题手撕算法:用闭包+递归实现缓存 memoize 函数(求和函数或斐波拉契数列)。 考察闭包、递归与缓存优化的综合编码能力编码实现问题拆解技术原理JavaScript第 31 题Object.defineProperty()能否监听整个对象,如何实现监听? 考察对Object.defineProperty作用范围及递归监听对象的理解问题拆解技术原理JavaScript第 32 题在 JavaScript 中,如何避免闭包滥用带来的内存泄漏或逻辑问题? 考察对闭包原理的理解及内存与性能风险的排查能力风险判断技术原理问题排查JavaScript第 33 题JS的数据结构有哪些?从基础数据类型和引用数据类型来说。 考察对JavaScript数据类型分类及底层存储方式的理解技术原理JavaScript第 34 题对象 a 有属性 b,b 上定义了一个普通函数 c,调用 a.b.c(),c 中的 this 指向什么?如果 c 是箭头函数呢? 考察 this 绑定规则与箭头函数的词法作用域技术原理JavaScript第 35 题请介绍 JavaScript 中的数据类型及其特点。 考察对 JavaScript 基础数据类型和引用类型的理解技术原理JavaScript第 36 题请解释JavaScript中原型与原型链的概念,并说明它们如何影响对象属性查找。 考察对JavaScript原型机制及属性继承链的理解技术原理JavaScript第 37 题ES6新特性有哪些。 考察对ES6核心新特性的掌握程度技术原理JavaScript第 38 题JS如何获取一个url中的参数正则表达式 考察正则表达式提取URL查询参数的能力与边界处理编码实现问题拆解技术原理JavaScript第 39 题请描述 JavaScript 任务队列的执行机制,包括宏任务与微任务的调度顺序。 考察对事件循环和异步任务执行顺序的理解编码实现技术原理JavaScript第 40 题如何理解箭头函数? 考察对箭头函数语法、this绑定及适用场景的理解技术原理JavaScript