-
rgb()函数三个参数依次为红、绿、蓝,必须为0–255整数,越界则整条声明静默失效;不可混用单位,不支持透明度及calc()、CSS变量。
-
Number.isFinite严格校验数字类型且为有限值,不转换参数;全局isFinite先转数字再判断,存在隐式转换。前者安全明确,后者易引发意外结果。
-
缩进HTML代码的核心在于保持一致性,推荐使用2个或4个空格,确保每个子元素比父元素多一个缩进层级,关闭标签与对应开始标签缩进相同;2.使用现代IDE如VSCode或WebStorm的自动格式化功能,配合Prettier等工具在保存时自动统一代码风格;3.统一选择空格或制表符并全项目保持一致,空格保证视觉一致性,制表符提供灵活性,但需团队统一设置;4.规范缩进提升代码可读性、团队协作效率和长期可维护性,避免技术债务;5.推荐使用Prettier、ESLint、HTML-CSS-JSPrettify等工具实
-
CSScubic-bezier()仅控制属性值随时间变化的速率,不改变运动路径;如配合translateX()或opacity使用,元素仍沿直线运动,无法实现弧线轨迹。
-
绝大多数情况下应选position:fixed,因其直接锚定视口、不依赖滚动上下文;sticky仅在父容器有明确高度与滚动约束且需随内容自然进退时适用,失效主因是缺乏有效滚动容器或祖先元素触发新层叠上下文。
-
最直接有效的方式是监听document的selectionchange事件并调用window.getSelection()获取选中内容,需检查rangeCount>0并用toString().trim()提取纯文本;iframe需单独监听其contentDocument,移动端建议加100ms防抖,并可叠加mouseup、keyup、touchend事件兜底。
-
overflow-wrap:break-word没生效主因是父容器缺宽度约束或被white-space:nowrap等覆盖;需设width/max-width、display:block、避免nowrap,并在flex中加min-width:0。
-
表单默认以GET方式提交会导致数据暴露在地址栏中;需通过e.preventDefault()在事件处理起始处阻止默认行为,并配合fetch手动发送POST请求,确保URL保持不变。
-
绝大多数情况是未正确绑定xhr.upload.onprogress,必须在xhr.open()后、xhr.send()前设置;若绑错对象(如xhr.onprogress)或后端未返回Content-Length,则事件不触发。
-
beforeUnmount是Vue3组件卸载前最后一个可操作DOM和访问实例的时机,适合清理定时器、事件监听、第三方插件资源等,此时DOM存在、实例可用,但不可修改响应式状态。
-
使用Flexbox或Grid创建响应式卡片布局,核心是通过flex-wrap、grid-template-columns配合minmax和gap实现自适应换行与间距,结合媒体查询优化不同屏幕体验,使卡片在不同设备上均能良好展示。
-
快速排序通过三数取中选基准、三路划分处理重复元素和小数组切换插入排序等优化,显著提升性能。三数取中避免最坏情况,三路划分减少重复元素递归,小数组使用插入排序降低开销,综合使快排在各类数据下均高效稳定。
-
Tailwind4.0+原生支持bg-[url(...)]任意值语法,无需配置即可添加背景图,但路径须相对于CSS入口文件,需注意编码、引号及配套bg-cover/bg-center等修饰类。
-
基于ESM实现的AOP框架通过动态import()、模块化切面与运行时注册表,支持逻辑插拔和热更新,聚焦函数级织入,零侵入、可tree-shaking,适用于API拦截等场景。
-
异步重试机制需满足三原则:只重试可恢复错误(如5xx、网络异常)、采用带抖动的指数退避错开时间、设次数与总耗时双上限,并辅以可观测性与用户反馈。