前端共264篇

面试题:Vue 实例在挂载过程中发生了什么?

当一个 Vue 实例(或组件)被挂载(mount)时,它会经历一系列内部步骤,从创建实例到最终将虚拟 DOM 渲染为真实 DOM 并插入页面。这个过程主要涉及 beforeMount 和 mounted 两个生命周期钩子。...
程序百科的头像-程序百科程序百科6个月前
4911

面试题:为什么在 React 中使用 className 而不是 class?

在 React 中使用 className 而不是 class 来指定 HTML 元素的 CSS 类,主要原因如下: 1. JavaScript 语言保留字冲突 这是最核心的原因。 class 是 JavaScript (ES6) 中的一个保留关键字,用于...
程序百科的头像-程序百科程序百科6个月前
4115

面试题:React 的触摸事件有哪些?

在 React 中,为了支持移动设备上的触摸交互,提供了一系列触摸事件(Touch Events)。这些事件与原生 DOM 的触摸事件一一对应,但遵循 React 的合成事件系统(SyntheticEvent),并采用驼峰命...
程序百科的头像-程序百科程序百科5个月前
5213

面试题:HTML 中,label 标签的作用是什么?如何使用?

<label> 标签是 HTML 中一个非常重要的表单辅助元素,它的主要作用是为表单控件(如 <input>、<textarea>、<select>)提供一个可点击的标签(标题),从而提升表单的可...
程序百科的头像-程序百科程序百科7个月前
329

面试题:说说 CSS 中 position: absolute 与 fixed 的共同点和区别

这是一个考察 CSS 定位机制核心知识的经典面试题。理解 absolute 和 fixed 的异同,是掌握页面布局的关键。 共同点 脱离文档流 (Removed from Normal Flow): 两者都会使元素完全脱离正常的文档...
程序百科的头像-程序百科程序百科7个月前
505

面试题:为什么有时候用 translate 来改变位置而不是定位?

这是一个关于 CSS 性能优化和渲染机制 的核心问题。使用 transform: translate() 而不是传统的 position(如 top/left)来改变元素位置,主要是出于性能和渲染效率的考虑。 下面详细解释原因: ...
程序百科的头像-程序百科程序百科7个月前
525

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

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

面试题:说说你对 ES6 中 rest 参数的理解?

ES6(ECMAScript 2015)引入的 Rest 参数(Rest Parameters)是一种非常实用的语法特性,它允许我们将一个不确定数量的参数表示为一个数组。它的核心思想是“收集剩余的参数”。 1. 基本语法 Re...
程序百科的头像-程序百科程序百科7个月前
558

面试题:为什么 Vue 要求组件模板只能有一个根元素?

这个问题在 Vue 2 和 Vue 3 中有不同的答案,因为 Vue 3 引入了 Fragment(片段)支持,已经不再强制要求组件模板必须只有一个根元素。 一、在 Vue 2 中:为什么必须有且仅有一个根元素? 在 Vu...
程序百科的头像-程序百科程序百科6个月前
639

面试题:当 Vue 的属性名称与 methods 中的方法名称一样时,会发生什么问题?

当 Vue 组件中的 data 属性名称 与 methods 方法名称 相同时,会引发一个命名冲突,导致数据属性被方法覆盖,从而产生严重问题。 会发生什么? 数据属性被覆盖: Vue 在初始化组件实例时,会将 ...
程序百科的头像-程序百科程序百科6个月前
578