-
用WeakRef实现图像纹理LRU缓存的关键是弱持有+强管理:WeakValueDictionary存WeakRef、双向链表维护访问序、FinalizationRegistry在对象回收时同步清理元数据,三者协同缺一不可。
-
:hover伪类必须配合具体元素选择器使用,如button:hover;单独写:hover无效;支持a、.nav-item、div等可交互元素,但移动端Safari对非可点击元素支持不稳定。
-
inherit无效最常见原因是用于不可继承属性(如margin、display),浏览器直接忽略;或父元素该属性计算值为initial/unset,子元素继承“空值”。
-
Day.js比Moment.js轻因支持tree-shaking、无依赖、纯函数式设计且插件按需引入;核心仅约2KB,不修改原生Date,仅用format和加减时无需插件。
-
用reduce解析CSV可行但非最直观,适合边读边构建结构;简单CSV可直接split(",")配合reduce生成对象,复杂CSV需状态机解析引号与转义,推荐split("\n")后map+reduce组合实现更清晰健壮。
-
clearTimeout用于取消未执行的setTimeout定时器,需传入其返回的timerID;未保存ID则无法取消,重复调用或传入无效值均无效果但不报错。
-
网页标题
background-attachment:fixed失效主因是body未占满视口,需同时设置html,body{height:100%;margin:0;padding:0;}且background-attachment必须写在body上。
-
生成器函数调用后返回一个Generator对象,它既是迭代器(含next()方法)又是可迭代对象(支持for...of和展开运算符),内部维护执行上下文,仅在调用next()时推进并暂停于yield。
-
Chrome105+、Safari15.4+、Firefox121+已默认支持:has()伪类,可实现子元素反选父元素,需用>、+、~等关系符精确控制层级,且不可用于选择器中间或与伪元素连用。
-
在线工具页面应以输入-处理-输出三步链路清晰为核心,用语义化main+section结构、flex响应式布局、pre+code输出及DOM属性驱动状态,确保可访问性与确定性。
-
词法作用域使异步回调保持变量一致性,靠的是记住定义时的位置而非值;函数创建时绑定外部变量,与调用时机无关;let每次迭代新建绑定,var共享同一变量;闭包携带引用而非拷贝,延长变量生命周期;常见陷阱包括this丢失、参数遮蔽和时序错误。
-
NavigationPreload的核心作用是让浏览器在ServiceWorker启动前并行发起主文档请求,消除首次导航延迟;需显式调用enable()启用,fetch事件中须用event.respondWith()和event.waitUntil(event.preloadResponse)正确消费。
-
clear:left表示元素左侧不允许有浮动元素,会下移至左侧无浮动元素为止,用于避免文字环绕或布局错位;clear:right同理,确保右侧无浮动元素。两者常用于清除浮动影响,适用于传统浮动布局中的内容分离,如多列布局后独占一行。尽管现代布局多用Flex或Grid,但在维护旧项目时仍具实用价值。
-
使用::placeholder伪元素可自定义输入框占位符样式,支持color、font-size、opacity等属性,需添加-webkit-、-moz-、-ms-前缀以兼容旧浏览器,可针对input、textarea等元素单独设置样式,提升界面美观与用户体验。
-
Less中需用Mixin统一配置word-break和overflow-wrap:先写overflow-wrap:break-word,再加word-break:break-word兜底旧版Chrome,IE11需显式声明word-wrap:break-word;父容器必须设width/max-width才生效。