-
最省事方案是aspect-ratio:1/1,但仅支持Chrome88+、Firefox89+、Safari15.4+;旧版Safari和IE需降级用padding-top:100%+absolute定位,并注意min-width:0、父宽约束及vh/vmax的视口依赖缺陷。
-
在Vue3中,若需让所有动态组件(如多标签页中的图表)同时挂载并保持状态,而非仅渲染当前激活项,应避免使用<KeepAlive>+单component切换,改用v-for遍历+v-show控制显隐。
-
一个标准HTML页面需按顺序包含DOCTYPE声明、带lang属性的html根元素、head(含charset和title)与body(含可见内容);所有标签须正确嵌套闭合,文件保存为.html后缀。
-
使用min-width和max-width可使网页布局更灵活响应。min-width防止元素过窄,如.box设置min-width:300px后宽度最小为300px;max-width限制最大宽度,避免内容过宽,常用于图片和文本区;两者结合如.responsive-box设为min-width:200px、max-width:600px,可在不同屏幕下自适应且保持可读性与美观。
-
前端脚手架核心是快速初始化项目、统一开发规范、减少重复工作。1.支持多模板管理,可本地或远程拉取;2.通过命令行交互收集配置;3.动态生成文件并自动安装依赖;4.提供版本更新与缓存机制。技术选型常用Node.js搭配commander、inquirer、ejs、download-git-repo等库,发布为npm包后可通过npx调用。模板设计应分离技术栈、使用占位符替换、集成工程化配置。团队协作可私有分发,公开发布需遵循SemVer、完善文档与错误提示。稳定性和可维护性比功能数量更重要。
-
JavaScript模块化是将代码拆分为独立可复用单元,解决全局污染、命名冲突与依赖混乱问题;CommonJS用require/module.exports实现运行时加载与值拷贝,ES6模块用import/export实现编译时静态分析与活绑定。
-
工厂函数直接调用返回对象,无需new,支持私有属性和闭包;构造函数需用new调用,依赖this,共享原型方法,适合类型识别和性能优化。
-
本文介绍在React中将含\n的代码字符串自动换行并为关键字(如export、const、fadeAnimation)添加颜色高亮的完整实现方案,兼顾可维护性与性能。
-
尾调用优化(TCO)在主流JavaScript引擎中基本不可用,V8、SpiderMonkey、JavaScriptCore均未实现,即使符合尾调用形式仍会栈溢出;应改用迭代或显式栈模拟。
-
模板字面量是JavaScript中唯一支持多行、表达式嵌入、标签函数和原始字符串解析的字符串构造机制,必须用反引号定义,支持运行时表达式求值、标签函数拦截及String.raw原始解析。
-
同一CSS颜色值在不同屏幕显示效果不同,因其RGB数值需映射到各设备独有的色彩空间(如sRGB、DCI-P3),而设备色域、白点、gamma等参数各异,且浏览器色彩管理支持不一。
-
XSS攻击分为反射型、存储型和DOM型三类,防范需输出转义、CSP策略、安全API及前后端协同;现代框架默认转义可降低风险,但非万能,仍需警惕非受控数据源。
-
Flex嵌套在Grid中子元素不撑开,根本原因是Grid项默认按内容收缩且无明确高度,导致Flex容器主轴无法感知可用空间;需为Grid单元格设min-height:0或height:100%、Flex容器设height:100%或min-height:0,并避免align-items:stretch与height:fit-content冲突。
-
JavaScript面向对象基于原型机制,ES6class是构造函数的语法糖;传统方式手动操作prototype,class则提供更严格、清晰的继承语法,但底层原理不变。
-
ResizeObserver是HTML5原生异步监听DOM元素尺寸变化的API,需传入接收entries和observer的回调函数,仅支持具体元素、不支持window/document,contentRect提供像素级内容盒尺寸且不触发重排。