-
闭包是React函数组件实现稳定状态逻辑的底层机制,它使每次Hook调用都能独立捕获并维持当前渲染环境的状态快照,确保自定义Hook中变量生命周期可靠、事件处理器能正确读取最新值,并支撑Hook调用顺序契约。
-
JavaScript代码规范核心是统一协作标准、减少错误、提升可维护性;ESLint支持按需配置,应优先启用防运行时错误规则,风格类规则团队一致即可,新项目建议启用strict模式和no-console,并集成至编辑器、CI及Prettier。
-
答案:构建零依赖且支持Tree-shaking的JS库需使用ES模块语法、声明module入口、标记sideEffects为false,并通过Rollup等工具打包输出ESM和CJS格式,避免动态导入与第三方依赖。
-
必须同时声明color和background-color才能生效,因为::selection不继承父级颜色且仅支持这两个属性,缺一不可,否则回退到浏览器默认蓝底白字。
-
Sass中通过@for、@each和@while指令可循环生成CSS类。①@for用于生成编号类,如.col-1至.col-12,按比例设置宽度;②@each遍历列表或映射,适合生成颜色类如.text-primary,绑定名称与值;③@while在条件成立时持续生成类,如.item-1到.item-5,需手动更新变量防死循环。合理选用循环方式可减少重复代码,提升维护效率。
-
flex-grow对absolute元素无效,因其已脱离flexformattingcontext,不再为flexitem,故flex-grow、align-self等属性被忽略;需用relativewrapper承担伸缩职责。
-
严格模式通过收紧语法和运行规则提升JavaScript安全性与可预测性,主要限制包括禁止隐式创建全局变量、删除变量/函数、重复命名、with语句、eval污染、this默认指向全局、八进制字面量及扩展冻结对象。
-
rules属性仅在border-collapse:collapse模式下生效,控制表格内部行列分隔线显示,取值包括none、rows、cols、all、groups,不支持颜色和线型设置,现代开发推荐用CSS替代。
-
LongTask指主线程连续执行超50ms的JavaScript任务,直接导致卡顿;在Performance面板中通过Main轨道色块、Summary筛选和CallTree调用栈定位,并支持启用高亮与CPU节流辅助识别。
-
正确嵌套必须是子ul作为父li的直接子元素,否则DOM断裂导致JS、屏幕阅读器和aria-expanded失效;验证需检查HTML结构而非视觉缩进。
-
背压是让系统在过载时有序应对的机制,核心是消费者主动声明处理能力,通过缓冲、丢弃、合并、限速等策略适配业务需求,并依赖底层支持与监控闭环。
-
OffscreenCanvas仅提供Worker中的渲染上下文,不解决TB级数据瓶颈;需手动实现分片传输、流式顶点更新、GPU缓冲复用及ImageBitmap零拷贝输出。
-
Less变量插值在::before和::after的content属性中有效但受限:仅字符串类型变量可安全插值,数值、颜色等非字符串类型会报错;必须用e()或预定义字符串变量拼接,不可在content内运算,且无法替代运行时的attr()函数。
-
Svelte组件默认样式局部化是通过编译时为CSS添加唯一属性选择器(如svelte-123abc)实现,而非ShadowDOM;:global()仅放行括号内选择器,需避免嵌套与误用,全局样式应统一管理于app.css而非组件内style块。
-
轮播组件class名易失控是因为功能扩展后命名缺乏规范,BEM要求严格区分容器(carousel)、项目(carousel__item)和控制单元(carousel__control),所有样式必须基于预设块名与修饰符,禁止依赖DOM结构或序号命名,JS操作需严格匹配BEM规则。