-
必须写自定义Babel插件,因为transform-remove-console仅支持标准console.*调用且配置僵化,无法按函数签名过滤、识别自定义调试函数(如debug)或结合注释条件剔除。
-
new操作符的模拟需四步:1.用Object.create(constructor.prototype)创建空对象并绑定原型;2.用constructor.apply(obj,args)绑定this并执行构造函数;3.若构造函数返回对象或函数则返回它,否则返回新对象;4.整合为myNew函数。
-
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。