前端/移动开发面试题 · 编码实现 · JavaScript
前端/移动开发相关岗位面试题。
共 24989 道真题 · 当前筛选命中 751 道 · 更新 2026-08-05
筛选题目已选:编码实现 · JavaScript
考察点
技术栈
第 241 题请实现一个将数字按千分位分隔的方法,例如输入 1234567.89,输出 1,234,567.89。 考察字符串处理、整数与小数部分拆分、边界条件处理第 242 题解释空值合并运算符(??)的作用,并说明它与逻辑或(||)的区别。 考察对空值合并运算符及与逻辑或差异的理解第 243 题请解释 Promise 的概念及其主要用途。 考察对异步编程中 Promise 的理解与应用场景第 244 题请用 JavaScript 编写一个 class 来模拟浏览器的路由跳转,并说明你的实现思路。 考察对 class 语法、路由状态管理与事件模拟的理解第 245 题forEach、map、filter 有什么区别? 考察对 JavaScript 数组迭代方法语义、副作用与返回值的理解第 246 题首次加载页面的时候如何在请求全部返回后展示页面?请结合 Promise.all 说明实现方式。 考察对 Promise.all 并发等待机制的理解及页面加载场景的应用第 247 题请实现一个 LazyMan 类,支持链式调用和延迟执行,例如 LazyMan('Hank').sleep(1).eat('dinner') 按顺序输出对应信息,要求解释实现思路和异步调度方式。 考察 JavaScript 异步编程、链式调用和任务队列设计能力第 248 题请手写并说明 JS 的寄生组合式继承实现 考察对原型链、构造函数继承与组合继承原理的理解及编码能力第 249 题请手写并说明 JavaScript 中 call 方法的实现思路。 考察对函数调用机制、this 绑定和原型链的理解第 250 题var和let、const的区别是什么? 考察JavaScript变量声明的作用域、提升与常量语义第 251 题请说明如何判断一个元素是否处于浏览器可视区域内,并介绍实现方案。 考察对浏览器几何属性与滚动监听的理解及实现能力第 252 题请说明 new 关键字的实现原理。 考察对 new 过程及对象创建的掌握第 253 题伪数组是什么?如何将伪数组转换为真正的数组? 考察对类数组对象(伪数组)的理解及常见转换方法第 254 题请手写实现数组的 map 方法。 考察对数组遍历、回调调用和返回新数组的掌握第 255 题请实现一个模拟 new 操作符的函数。 考察对 new 执行机制和原型链的实际掌握第 256 题如何能拿到用户在某个页面的停留时间,有没有通用方案(JS 原生方法)? 考察前端埋点与浏览器生命周期事件的应用能力第 257 题如果不用apply,想直接使用func(args)实现同样功能,需要如何修改其他部分? 考察对函数参数展开、调用方式及apply替代原理的理解第 258 题请实现一个防抖函数,并说明适用场景及与节流的区别。 考察防抖实现、作用时机及与节流的对比理解第 259 题请实现一个函数,接收一个包含员工信息的对象数组,筛选出 age 大于 28 的所有记录。 考察数组高阶方法的使用与函数封装能力第 260 题请说明JavaScript中动态添加或移除class的常见写法及其适用场景。 考察DOM操作中class管理的实现方式与场景选择