排序
面试题:line-height: 100% 和 line-height: 1 有什么区别?
这是一个考察对 CSS line-height 属性计算方式深刻理解的经典面试题。虽然 100% 和 1 看似等价,但在 line-height 的上下文中,它们的行为有本质区别。 核心区别 值计算方式是否继承实际效果lin...
面试题:ES6 中,如何提取深度嵌套的对象中的指定属性?
在 ES6 及后续版本中,提取深度嵌套对象中的属性,最常用和推荐的方法是使用 解构赋值 (Destructuring Assignment),并结合 可选链操作符 (Optional Chaining, ES2020) 来安全地处理可能为 null...
面试题:怎么实现网页三栏布局?
三栏布局是前端开发中常见的经典布局模式,通常指左右两栏固定宽度,中间一栏自适应(圣杯布局或双飞翼布局)。以下是多种实现方式,从传统到现代,全面覆盖。 一、什么是三栏布局? 左侧栏:固...
面试题:JavaScript 中 for…in 和 for…of 的区别是什么?
这是一个非常经典的 JavaScript 面试题,考察对循环机制和数据结构的理解。for...in 和 for...of 看似相似,但用途和行为有本质区别。 ✅ 核心区别总结 特性for...infor...of设计目的遍历对象的...
面试题:::before 和 :after 的双冒号和单冒号有什么区别?
在CSS中,::before 和 ::after 伪元素的双冒号(::)和单冒号(:)在功能上没有区别,它们的作用完全相同。 两者之间的区别主要在于语法规范的演进和浏览器兼容性: CSS3 规范的区分: 在 CSS3 ...
面试题:ES6 的 Proxy 可以实现什么功能?
ES6 引入的 Proxy 是一个非常强大的元编程(Metaprogramming)特性。它允许你创建一个代理对象,用于拦截并自定义对另一个对象(目标对象)的基本操作(如属性读取、赋值、枚举、函数调用等)。...
面试题:JavaScript 脚本延迟加载的方式有哪些?
JavaScript 脚本的延迟加载(Lazy Loading)指的是将脚本的加载或执行推迟到特定时机,以优化页面初始加载性能,避免阻塞关键渲染路径。它与异步加载(async)有重叠,但更侧重于“推迟”这一行...
面试题:在 .vue 文件中,style 和 script 必须要写么?为什么?
这是一个很好的问题,它考察了对 .vue 单文件组件(SFC, Single File Component)结构的理解。 简短回答: 在一个 .vue 文件中,<template>、<script> 和 <style> 都不是绝对...
面试题:Vue Router 有什么作用?它有哪些组件?
这是一个关于 Vue 生态系统核心库 Vue Router 的基础但重要的面试题。以下是全面的解答: Vue Router 有什么作用? Vue Router 是 Vue.js 官方的路由管理器(Routing Library)。它为 Vue.js 单...
面试题:Vue Router 中 route 和 router 有哪些区别?
在 Vue Router 中,router 和 route 是两个核心但极易混淆的概念。它们的区别如下: 1. 核心定义 router (路由器实例): 你可以把它理解为整个导航系统的“控制器”或“管理者”。 它是一个通过...
