面试题:JavaScript 的 forEach 和 map 方法有什么区别?
forEach 和 map 都是 JavaScript 中用于遍历数组的方法,但它们在目的、返回值和使用场景上有本质的区别。 核心区别总结 特性forEachmap目的执行副作用(如修改外部变量、操作 DOM、打印日志)...
面试题:mouseover 和 mouseenter 事件的区别是什么?
mouseover 和 mouseenter 都是鼠标进入元素时触发的事件,但它们在事件冒泡(或事件传播)的行为上有关键区别: 1. mouseover 事件 触发时机:当鼠标指针进入元素或其任何子元素时触发。 冒泡行...
面试题:JavaScript 的 == 和 === 有什么区别?
这是一个 JavaScript 中最经典、最基础的面试题,考察对相等性判断和类型转换的理解。 ✅ 核心区别 比较符名称是否进行类型转换推荐使用==相等(松散相等)✅ 是(会进行隐式类型转换)❌ 不推...
面试题:JavaScript 中 substring 和 substr 函数的区别是什么?
这是一个经典的 JavaScript 字符串操作面试题,考察对字符串截取方法的理解。 substring()、substr() 和 slice() 功能相似但有重要区别。 ✅ 核心区别总结 方法参数是否支持负数状态推荐度subst...
面试题:JavaScript 数组的 map 和 forEach 函数中能否通过 break 等语法结束循环?
这是一个很好的 JavaScript 面试题,考察对数组方法底层机制的理解。 ✅ 直接答案: 不能。 map 和 forEach 是数组方法,不是普通的 for 循环,因此无法使用 break、continue 或 return 来直接...
面试题:JavaScript 中如何合并对象?
这是一个非常实用的 JavaScript 面试题,考察对对象操作和 ES6+ 语法的掌握。合并对象有多种方法,从传统到现代逐步演进。 ✅ 方法一:Object.assign()(ES6,常用) const obj1 = { a: 1, b: 2...
面试题:JavaScript 如何判断一个对象是不是空对象?
这是一个常见的 JavaScript 面试题,考察对对象属性遍历和 Object API 的掌握。判断一个对象是否为空对象(即不包含任何自身可枚举属性),有多种方法。 ✅ 方法一:Object.keys()(推荐,简洁...
面试题:JavaScript 的 splice 和 slice 函数会改变原数组吗?
这是一个非常典型的 JavaScript 面试题,考察对数组方法副作用的理解。 ✅ 直接答案: splice():会改变原数组 ✅ slice():不会改变原数组 ❌ 🔍 详细解释 1. splice() —— 会修改原数组 spli...
面试题:JavaScript 中怎么删除数组最后一个元素?
这是一个基础但高频的 JavaScript 面试题。删除数组最后一个元素有多种方法,以下是几种常用方式及其区别: ✅ 方法一:pop() —— 最常用、最推荐 const arr = [1, 2, 3, 4]; const lastElemen...
面试题:如何判断网页元素是否到达可视区域?
这是一个非常实用的前端面试题,常用于实现懒加载、无限滚动、埋点曝光等场景。判断元素是否进入可视区域有多种方法,从简单到高级逐步演进。 ✅ 方法一:使用 getBoundingClientRect()(兼容性...




