-
Flex适用于一维布局(单行/列对齐、分布、顺序调整),Grid专用于二维网格(行列同时控制);二者分工明确,常嵌套使用——Grid作外层区域划分,Flex处理内部细节对齐。
-
bottom:0只对position为absolute、fixed或sticky的元素生效,且依赖最近已定位祖先(如position:relative)作为参考系;若无,则锚定视口底部。
-
JavaScript中Array.prototype.sort()实现多属性排序需在单个比较函数中按优先级逐级比较:先比部门升序(localeCompare),再比年龄降序(b-a),最后比姓名升序(localeCompare),避免多次sort调用覆盖结果。
-
DOM是浏览器将HTML转换成的JS可操作对象树,以document为根节点,包含元素、文本等节点;应优先用querySelector、classList、textContent等现代API安全高效操作。
-
JavaScript并发控制通过Promise+队列+计数器实现,用固定槽位限制同时执行任务数(如3个),新任务入队等待空闲,running计数器跟踪运行中任务,完成即释放槽位并调度下一个。
-
float是实现文字环绕图片最轻量、兼容性最好的原生方案,需为图片显式设置width(或max-width)和float,文字必须紧跟其后且处于同一BFC中,同时注意父容器坍缩问题。
-
code标签仅提供语义标识,不保留格式;多行代码必须嵌套在pre中,二者分工明确:pre保留空白符,code声明代码语义,且HTML字符需转义。
-
Object.isExtensible仅用于检测对象是否可扩展,不能主动防范属性膨胀;真正防护需结合Object.preventExtensions设限、Proxy拦截非法新增、关键节点断言校验,并规避误用陷阱。
-
JavaScript的rest参数是捕获函数多余实参的语法糖,必须位于形参末尾且唯一,生成真数组;与arguments不同,它原生支持数组方法、适用于箭头函数,且仅在函数参数、数组/对象解构中合法。
-
根本原因是TypeScript将.module.css默认视为字符串索引类型Record<string,string>,而非具名类名对象;需用typed-css-modules自动生成.d.ts类型声明文件,并确保其被tsconfig包含、文件名正确(Button.module.css.d.ts)、关闭css-loader的esModule选项,最后重启TSServer。
-
ID选择器会直接破坏BEM权重平衡,因其权重为1,0,0,远超BEM要求的0,1,0,导致后续所有类名样式难以覆盖;它违背BEM“扁平化、可复用”的核心前提,使修饰符和状态切换失效。
-
减少请求数、压缩资源、合理缓存和优化加载时机是JavaScript网络请求优化的核心。通过资源合并、雪碧图、HTTP/2、内联关键资源减少请求数;启用Gzip/Brotli压缩、精简JSON、图片懒加载和动态导入降低传输体积;利用Cache-Control、ETag、内存缓存和ServiceWorker提升缓存效率;结合预加载、节流、并发控制和优先级调度优化请求时机。配合Webpack、CDN和接口聚合策略,可显著提升页面响应速度与用户体验。
-
WebSocket是基于TCP的全双工通信协议,支持持久连接、双向实时消息、轻量帧头,需手动处理重连与JSON序列化,适用于聊天、实时通知等场景。
-
主流深拷贝工具如JSON.stringify()→parse()、structuredClone()、Lodash_.cloneDeep()和fast-copy默认跳过不可枚举属性;仅fast-copy开启strict模式、手写描述符遍历或PHPDeepCopy等方案能完整保留。
-
font-weight未生效的主因是字体不支持对应字重,需通过DevTools检查计算值及字体文件是否存在;其次注意加载顺序、简写语法缺失font-family、打印/移动端兼容性等问题。