-
代码压缩与混淆通过减小体积和增加逆向难度提升性能与安全性,常用工具如Terser和JavaScriptObfuscator,在Webpack、Vite等工程化工具中集成,生产环境应权衡压缩、混淆强度与可维护性。
-
浮动布局导致父容器高度塌陷、右侧栏换行、背景色失效等,根源是元素脱离文档流;Grid仅需三行代码(display:grid、grid-template-columns、grid-column)即可替代,无需清除浮动且支持响应式与垂直居中。
-
加标签仍被缓存是因为meta标签仅对HTML首次加载有效,且现代浏览器常忽略;真正禁用缓存需服务端为所有资源(HTML、JS、CSS、API)统一配置Cache-Control响应头,并确保CDN/代理透传。
-
JavaScript模块打包工具需按项目类型、环境和依赖选择:Webpack需手动配置loader和resolve;Vite开发用ES模块、构建用Rollup;Esbuild极快但无HMR和代码分割,适合转译和工具链。
-
aside是语义标签,非视觉侧边栏;仅适用于与主内容有逻辑附属关系的补充信息,如术语解释、作者简介等,必须配合CSS(如flex/grid)实现布局,删除后主内容须仍完整自洽。
-
Symbol.iterator是ES6引入的内置symbol,用于定义对象的迭代行为;当对象拥有返回迭代器的[Symbol.iterator]方法时,即符合可迭代协议,可被for...of等语法消费。
-
HSL模式通过调节L(明度)和S(饱和度)可高效提升颜色对比度以满足WCAG标准;例如将深灰文字hsl(0,0%,30%)的L提至40%–45%,或链接色设为hsl(200,60%,45%),兼顾可读性与舒适度。
-
模板字符串可替代字符串拼接且更安全易读,但需正确使用反引号和${}语法,支持多行、表达式、函数调用;错误用单/双引号包裹会导致变量不解析;它避免拼接常见错误并天然支持可选链与空值合并;纯静态字符串、动态引号需求或极致性能场景下仍宜用字面量;标签模板函数可实现转义、沙箱等DSL能力,但插值逻辑应保持简洁。
-
轮播图卡顿主因是用left/top触发重排,应改用transform/opacity走合成层;预加载下一张图、设固定宽高防跳动;暂停需监听容器mouseenter/touchstart;无缝切换用DOM复用+瞬移重置。
-
常见错误是未将图片设为块级元素并设置宽高,因shape-outside仅对浮动块盒生效;SVG需内联、坐标对齐、配shape-margin;Firefox不支持外链SVG且仅认content-box/border-box。
-
CSS元素宽度设置无效通常因盒模型、内边距、边框或外边距干扰,关键要区分width控制的是内容区还是整个盒子;默认content-box下width不包含padding和border,改用border-box可使width包含二者,同时需检查父容器限制、display类型及margin/padding视觉干扰。
-
JavaScript状态管理核心是让数据变化可预测、可追踪、可复用;轻量方案如手写发布-订阅、Zustand、Jotai、Valtio各具优势,关键在清晰划分状态边界。
-
once是addEventListener的布尔型配置项,设为true时监听器仅执行一次后自动移除;适用于初始化、防重复提交、动画回调等场景,不支持IE。
-
能,但需正确设置viewport元标签、合理选择rem/vw单位并按内容而非设备设断点。viewport须置于head最前且写全参数;rem宜JS动态设置,vw需防iOS键盘干扰;断点应基于容器宽度和内容布局需求,辅以容器查询与真机多场景验证。
-
必须用Math.sin和Math.cos,因为环形布局本质是极坐标转直角坐标,需通过角度和半径精确计算每个按钮的x、y像素位移,CSS无法动态执行三角函数,JS计算是唯一可靠路径。