-
是的,const声明后仍可修改对象属性,因其仅锁定变量绑定(指针),不冻结堆内存中的数据;若需真正不可变,须配合Object.freeze()或不可变数据结构。
-
document.cookie不是对象,而是受同源策略和Cookie属性双重限制的字符串接口;写入需手动拼接path、编码等完整属性,读取需解析解码,删除须严格匹配原始作用域参数。
-
使用flex-wrap和gap可实现Flexbox布局中的自动换行与间距控制。1.设置flex-wrap:wrap允许子元素在空间不足时换行,避免溢出;2.使用gap统一设置子元素间的水平和垂直间距,简化样式管理;3.建议结合flex:11200px等弹性设置与媒体查询优化响应式效果,避免混用margin防止间距混乱,提升布局效率与可维护性。
-
锚点id必须合法唯一且严格匹配:全小写、连字符分隔、不以数字开头、无空格标点中文;h2/h3需同时处理并嵌套生成目录;href必须与id完全一致(含大小写);启用scroll-behavior:smooth实现平滑滚动。
-
2026年前端架构师需具备四维能力:JS/运行时底层穿透、TS架构级类型治理、AI原生与WebGPU高性能双轨、工程系统与跨域协同。核心是三层结构化掌控——底层原理、中层决策、上层抽象。
-
“单向度依赖隔离”指业务模块仅暴露稳定、收敛、无副作用的接口,隐藏实现细节与状态,杜绝反向依赖;通过命名导出纯函数、default导出封装主入口、禁导可变绑定、审慎重导出,确保调用流向清晰可控。
-
原生CSS不支持嵌套因语法模型与人脑层级认知不匹配,SCSS/Less补足组织能力;常见错误包括&误用、过度嵌套、兄弟选择器空格缺失;@use替代@import实现模块化;PostCSS插件仅支持基础嵌套,无法替代预处理器的变量、函数等完整能力。
-
TailwindCSSv4采用CSS-first架构,核心配置须通过CSS指令(如@theme、@utility、@config)声明;tailwind.config.js仅保留content扫描和插件加载功能,不再参与样式生成。
-
background-size:cover本身不拉伸图片,问题在于容器高度失控;根本原因是父级未设可靠高度(如height/min-height),导致100%高度计算失效或100vh在iOS/安卓中动态变化,进而使cover缩放基准跳变。
-
JavaScript用URL和URLSearchParams接口安全解析、构造URL:URL解析结构化信息,URLSearchParams操作查询参数并自动编码,IE需polyfill。
-
JSDoc通过标注函数、参数及废弃状态,为版本迭代提供文档支持。结合Git与语义化版本,标记@deprecated、@since等注解可明确API变更;配合CHANGELOG和CI流程中ESLint校验,确保文档同步,提升代码可维护性与团队协作效率。
-
动态import()返回Promise,实现运行时异步加载模块,区别于静态import的预加载;当执行到import('./module.js')时才发起请求,结合Webpack或Vite可自动代码分割,生成独立chunk,用于路由级分割、功能懒加载或条件加载,首屏仅加载核心代码,降低初始体积,提升性能,且支持浏览器缓存复用。
-
JavaScript性能优化需针对性干预执行效率、内存占用和主线程阻塞;避免循环中重复DOM访问与计算,缓存变量;合理使用Object.freeze()和const;内存泄漏多源于未清理的事件监听器、定时器和闭包悬空引用,须用ChromeMemory面板对比heapsnapshot确认。
-
通过:hover触发::before的transform实现悬停旋转,首先为::before设置inline-block和transition,再在.icon:hover::before中添加transform:rotate(90deg),即可使前置符号平滑旋转,适用于下拉箭头等交互效果。
-
display:flex能避开幽灵空白,因其切换至弹性盒格式化上下文,使子元素脱离行内流、无视换行/空格及基线对齐机制,从根源上不触发幽灵空白。