-
JavaScript字符串操作核心是场景化选型:模板字符串为多行拼接、嵌入逻辑和可读性默认选择;简单变量插入优先用模板字符串,纯静态拼接可用+;String.raw解决反斜杠转义问题,仅适用于模板字符串前;表达式须在${...}内求值,且实时执行需防重复计算与闭包陷阱。
-
WeakSet是仅存储对象且不阻止垃圾回收的集合,具有弱引用特性,只提供add、delete、has方法,适用于私有状态标记和避免内存泄漏,不可用于缓存或遍历。
-
直接修改CSS变量最安全,需在:root中替换如--primary-color等值,并清缓存;内联样式和JS硬编码色值须手动迁移至变量;需检查伪类、SVG、表单元素等易漏组件,并确保对比度合规。
-
gulp-clean-css默认不生成sourcemap,必须显式配置cleanCSS({sourceMap:true})并确保gulp-sourcemaps.init()在前、.write()在后;同时PostCSS(含autoprefixer)须在clean-css前执行,且@import需用postcss-import正确解析路径,watch需覆盖所有被import的文件(含_*.css)。
-
父元素必须显式设置position:relative才能成为absolute子元素的定位上下文;若未设置,子元素将向上查找最近的定位祖先,导致定位异常。
-
纯HTML5可用<details><summary>实现无JS标签页,但默认不互斥;需单选时用radio+:checked或JS控制;注意热区≥44×44px、hidden语义优于display:none,且IE不支持hidden。
-
可通过五种方法实现网页自动滚动与分页:一、CSS@keyframes垂直循环滚动;二、JSsetInterval控制scrollTop定时滚动;三、Pagination逻辑手动分页并支持自动翻页;四、IntersectionObserver实现视口触发型自动翻页;五、CSSscroll-snap-type原生滚动对齐分页。
-
答案:通过自定义事件、事件总线与状态管理结合实现可扩展通信。组件用CustomEvent松耦合交互,EventBus统一管理订阅发布,响应式状态容器处理共享数据,支持命名空间隔离与异步机制,保持解耦与可维护性。
-
断点应按内容需求而非固定像素设定,优先移动优先用min-width逐级增强;rem基于根字体更可控但需@media兜底;box-sizing必须设为border-box;flex布局要显式声明flex-wrap;正文字号用clamp()保底限高。
-
事件循环阻塞的常见场景包括:CPU密集型计算(如处理大JSON、复杂数学运算)、同步I/O操作(如fs.readFileSync或同步XHR)、无限或低效循环(如N^3复杂度的嵌套循环);2.识别方法是观察UI卡顿或API延迟,并使用ChromeDevToolsPerformance面板、Node.js的perf_hooks或APM工具定位耗时任务;3.解决策略为:优先使用异步API(Promise/async-await)、将CPU任务移至WebWorkers或worker_threads、拆分大任务用
-
多入口配置中entry必须为对象形式,如{main:'./src/main.js',admin:'./src/admin.js'},以生成独立JS文件;HtmlWebpackPlugin需为每个入口配置单独实例并指定chunks;splitChunks需设chunks:'all'才能提取多入口公共代码。
-
Proxy允许拦截对象操作,Reflect提供默认行为方法,二者结合可实现数据监听、日志记录等高级功能,如通过get/set捕获器构建响应式系统或监控方法调用。
-
iOSSafari及WKWebView默认禁止有声视频自动播放,必须同时满足muted、playsinline和用户手势触发(或配置mediaTypesRequiringUserActionForPlayback)三条件;视频还须无音频轨、含关键帧且用H.264编码。
-
transition-timing-function用于控制CSS过渡动画的速度曲线,不改变总时长但影响变化节奏。可选值包括ease、linear、ease-in、ease-out和ease-in-out,分别定义不同的加减速模式。通过cubic-bezier(x1,y1,x2,y2)可自定义贝塞尔曲线实现如弹跳等复杂效果。当过渡多个属性时,可分别为每个属性设置不同的timingfunction,如opacity用linear、transform用ease-out、background-color用eas
-
九宫格不齐主因是行列未明确约束,应使用minmax(0,1fr)定义比例并设justify-items/align-items为stretch,重置margin/padding/box-sizing,用gap替代margin控制间距。