-
响应式状态深度监听的关键是避免无效监听、控制更新粒度、确保变化可追溯;Vue3默认深层响应,但需通过computed+toRaw、shallowRef+triggerRef、watch合理配置及结构化Store设计来实现精准响应。
-
Modernizr是全局特性检测最省事方案,通过DOM测试而非UA判断API支持,v3+需定制构建;单API检测用in/typeof/!!组合更轻量;CSS特性优先用CSS.supports(),兼容性不足时回退到style属性探测;运行时动态检测比加载时更关键。
-
border-radius写单值(如8px)为标准圆角,双值(如8px4px)因水平/垂直半径不同易显椭圆;百分比值按盒模型宽高计算;box-sizing影响裁剪基准,overflow:hidden不自动裁剪子元素。
-
纯边框网格的本质是用grid-gap配合透明背景和单向border“抠”出线条效果:gap设为所需线宽,容器设背景色作画布,border统一方向(如right/bottom),禁用background/padding防遮盖或撑开。
-
HTML用于构建网页结构、超链接、图像、表单和表格:一用<html><head><title><body><h1><p><ul><li>定义基础内容;二用<ahref>实现外链、内链及新页跳转;三用<imgsrcalt>嵌入图片并保障可访问性;四用<form><input><button>收集用户数据;五用<table><thead&
-
Canvas在Retina屏发虚是因为未适配devicePixelRatio,需同步设置width/height属性为物理像素值并缩放绘图坐标,否则仅CSS缩放会导致插值模糊。
-
z-index调高仍点不到元素,主因是pointer-events设置和层叠上下文干扰;需检查pointer-events是否为none、父级是否创建了独立层叠上下文、以及overflow裁剪导致的视觉误判。
-
Symbol.hasInstance是用于自定义instanceof行为的内置symbol,需在构造函数上定义返回布尔值的函数,优先于原型链检查,仅影响instanceof。
-
事件循环是JavaScript异步操作的运行时机制,并非设计模式本身,但它为多种异步设计模式提供了执行基础。1.事件循环通过不断检查调用栈与任务队列,实现非阻塞执行,使JavaScript能高效处理异步任务;2.它支撑了观察者模式和发布/订阅模式,确保事件回调异步执行,实现对象间解耦;3.Promise和async/await等异步流程控制依赖微任务队列调度,构建清晰的异步逻辑链;4.理解事件循环有助于选择合适的设计模式,避免竞态条件、提升调试效率与应用性能;5.多种设计模式如命令模式、策略模式、单例模式
-
:checked伪类用于自定义选中状态的单选框和复选框样式,通过配合label、伪元素与兄弟选择器,可实现无JS的交互效果,如开关按钮、展开内容和模态框。
-
JavaScript压缩通过去除冗余字符、简化表达式和缩短变量名减小文件体积,提升加载速度;混淆则进一步重命名变量函数、扁平化控制流、加密字符串并插入无效代码,增强代码安全性。常用工具包括Terser、JavaScriptObfuscator等,建议开发保留源码,部署时压缩混淆,并避免上传sourcemap。
-
@import必须置于CSS文件开头,可结合媒体查询按设备特性加载样式,如打印、小屏或深色模式,避免冗余下载。但其阻塞渲染、无法并行加载且不支持预加载,性能不如<link>标签。建议优先使用<link>控制关键样式加载,仅在非核心场景(如主题、打印)用@import配合媒体查询实现条件引入,并确保语法位置正确以避免失效。
-
必须用if-else而非switch的场景是需范围判断或复杂逻辑;三元运算符仅适用于单表达式返回值,多语句或副作用操作必须用if-else。
-
translate()移动元素自身坐标原点,正值向右下、负值向左上;不触发重排,仅影响渲染层;常见问题包括被absolute定位或overflow:hidden覆盖;优先用于动画等无需改变文档流的场景。
-
Less中需用Mixin封装带参数的媒体查询,参数为断点键名而非字符串,通过map-get从@breakpoints映射取值,并加isdefined守卫;硬编码断点导致维护难、嵌套失效、单位混用;多条件查询需用@media(@conditions...)配合~"@{conditions}"拼接;应区分.media-up()与.media-down()以适配移动端或桌面端优先策略。