-
快速排序的工作原理是基于“分而治之”策略,通过选择基准、分区和递归排序三个步骤实现高效排序:首先从数组中选择一个基准元素,然后将数组划分为两部分,左边为小于基准的元素,右边为大于或等于基准的元素,此时基准位于最终有序位置;接着对左右两个子数组递归执行相同操作,直到子数组长度小于等于1,整个数组即有序。该算法平均时间复杂度为O(nlogn),最坏情况下为O(n²),空间复杂度平均为O(logn);常见优化包括随机或三数取中法选择基准、小规模数据切换插入排序、三路分区处理重复元素以及尾递归或迭代实现以降低栈深
-
合并CSS文件能提升加载性能,因其减少关键路径上的网络往返次数,缓解浏览器并发请求限制导致的排队阻塞;但需区分场景:基础通用样式应合并,路由专属或条件样式应按需加载。
-
<section>必须配<h2>~<h6>标题,表示有明确主题、可独立成文且能被导航引用的内容区块;不可滥用为样式容器,否则破坏语义与无障碍体验。
-
text-align:center仅对行内内容水平居中,多行文本垂直居中需用Flex(justify-content+align-items)或Grid(place-items),line-height仅适用于单行。
-
分页中当前页必须用aria-current="page"明确标识,仅作用于带href的<a>元素;禁用aria-disabled或移除href;外层容器按需用<nav>或aria-label标注;上/下一页按钮须语义正确、可聚焦、有明确标签;动态分页需同步更新aria-current、手动聚焦并精准播报。
-
闭包实现递归防护的核心是封装深度计数器并前置拦截:外层闭包固定maxDepth,内层维护不可见的currentDepth,每次调用前检查超限,未超则+1后调用原函数,超限则按配置抛异常或降级;不修改原函数签名,通过重绑定闭包实例传递深度。
-
HTML不是编程语言,没有函数可影响SSD性能;前端代码与NVMe/SATA硬件完全无关,真正影响加载速度的是网络、缓存、服务器响应等环节。
-
HTML不该设长缓存时间,因其作为页面入口,变更需立即生效;否则用户将加载错误资源、卡在旧逻辑中。应采用短缓存(如max-age=60)或协商缓存(no-cache),并分离动态内容与静态结构。
-
MessageChannel必须为每个Worker单独创建,不支持一对多复用;Worker收到port后需显式调用port.start()才能收消息;高频小数据通信优先用port.postMessage(),大数据传输仍用worker.postMessage()+transferable;Worker无法自行创建MessageChannel。
-
要让面包屑过长时显示省略号,需用Flexbox布局:父容器设display:flex和overflow:hidden,首项flex:00auto,分隔符固定宽,中间项flex:01120px,末项flex:110且min-width:0、white-space:nowrap、overflow:hidden、text-overflow:ellipsis。