排序
面试题:Vue 计算属性的函数名和 data 中的属性可以同名吗?为什么?
不可以。在 Vue 中,计算属性(computed)的函数名不能与 data 中的属性同名。 如果尝试这样做,Vue 会抛出一个明确的运行时错误。 为什么会报错? Vue 的设计原则是确保数据来源的唯一性和可预...
面试题:在 React Router 中如何获取历史对象?
在 React Router 中,“历史对象”(history object)用于导航和管理浏览器的历史记录栈。获取历史对象的方式随着 React Router 版本的演进而变化,尤其在 v5 和 v6 之间有重大差异。 以下是不...
面试题:Canvas 和 SVG 有什么区别?
<canvas> 和 <svg> 都是 HTML5 中用于在网页上绘制图形、创建动态视觉效果的技术,但它们在底层原理、使用方式、性能特点和适用场景上有着根本性的区别。 以下是 Canvas 和 SVG 的...
面试题:说说你对 sticky 定位的理解
position: sticky 是 CSS 中一种非常实用的定位方式,结合了 relative 和 fixed 定位的特点。 它允许元素在滚动到特定阈值之前表现得像相对定位(relative),一旦达到该阈值,则表现得像固定定...
面试题:为什么 li 与 li 元素之间有看不见的空白间隔?如何解决?
这是一个非常经典且在实际开发中频繁遇到的 HTML/CSS 问题。这个问题的本质是HTML 中的空白字符(whitespace)在特定布局模式下被渲染成了可视的空白。 一、问题原因 <li> 元素之间出现看...
面试题:什么是 DOM 和 BOM?
DOM 和 BOM 是 JavaScript 操作浏览器环境的两个核心概念,它们共同构成了 Web 前端开发的基础。 1. DOM (Document Object Model - 文档对象模型) 定义:DOM 是 HTML 或 XML 文档的编程接口。它...
面试题:什么是 ES6 新增的模板语法?
ES6(ECMAScript 2015)中新增的模板语法,主要指的是模板字符串(Template Literals)。它是一种革命性的字符串定义方式,使用反引号(`)来包裹字符串,解决了传统字符串在多行文本和变量拼接...
面试题:是否了解 Vue 官方的风格指南?请列举其中的一些规则
了解 Vue 官方的风格指南是 Vue 开发者必备的知识。这份指南提供了编写可维护、一致且高效的 Vue 代码的最佳实践。以下是一些重要的规则分类和具体示例: 🔥 优先级 A:必要的规则(规避错误) ...
面试题:在 Vue 中,如果变量名以 _ 或 $ 开头,会有什么问题?如何访问到这些值?
在 Vue 中,以 _ 或 $ 开头的变量名确实会有特殊行为,这源于 Vue 的设计决策。 🚫 问题:自动代理排除 Vue 会自动跳过以 _ 或 $ 开头的属性,不会将它们设置为响应式数据,也不会代理到 Vue 实...
面试题:React 的 displayName 属性有什么作用?
在 React 中,displayName 是一个可选的字符串属性,主要用于调试和开发工具中,为组件提供一个有意义的名称,以便在 React DevTools 和错误信息中更容易地识别组件。 核心作用 在 React DevToo...
