-
<noscript>对新HTML标签无效,因其仅响应JS禁用而非浏览器不支持;应使用特性检测(如typeofHTMLDialogElement)配合动态降级或轻量polyfill。
-
unshift()时间复杂度为O(n),数组越长性能越差;push()为O(1),始终高效。5万元素下unshift100次超300ms,push同量仅<0.5ms,差距百倍起跳。
-
函数防抖在搜索输入中要求用户停止输入指定时间(如300ms)后才触发请求,每次按键需清除旧定时器并重设;回车立即执行、ESC取消、blur可选触发;工具函数须可销毁、防内存泄漏,并配合loading与请求校验。
-
应使用<inputtype="search">而非添加role="search",因其自带role="searchbox";需配合<form>、name="q"和aria-label等最小无障碍补充。
-
mode:'cors'允许发送跨域请求并读取响应,需服务端配合CORS头;mode:'no-cors'仅支持简单请求且响应为opaque,无法读取状态、头或体,仅适用于单向上报等无需响应的场景。
-
通过监听滚动事件触发CSS动画,可实现元素随滚动逐帧出现等效果。1.用JavaScript监听scroll事件,结合getBoundingClientRect判断元素进入视口后添加动画类;2.推荐使用IntersectionObserverAPI替代scroll,异步检测元素可见性,性能更优;3.可通过滚动比例控制animation-play-state或利用CSS变量、JS动态更新实现动画进度同步;4.常见应用包括内容入场、视差滚动、进度指示器与动画联动等。核心是滚动位置判断与动画状态控制,优先采用In
-
跨窗口通信唯一安全方式是window.postMessage(),需指定目标窗口并校验event.origin,禁止用*通配targetOrigin,不支持传函数或DOM节点,须实测边界场景。
-
Sass不支持运行时动态换主题,本质是编译期预生成多主题CSS,靠data-theme属性匹配;@function全在编译时求值,无法运行时调用;themeifymixin需用!global和[data-theme]&嵌套确保作用域与变量可达;主题map必须扁平、键名统一;JS切换仅改data-theme并持久化。
-
Sass嵌套不提升优先级,但易生成高权重选择器;关键在意识嵌套生成的CSS结构。&代表上层完整选择器字符串,空格决定后代或拼接,@at-root(with:media)防权重抬升,%占位符替代深层继承降权。
-
不该。第三方CSS不应手动放入src/css目录,而应通过构建工具直接解析node_modules路径引入,或用link引入CDN资源;vendor目录仅存导入胶水文件,不存实际CSS内容。
-
可采用五种方法将文本等格式转为标准HTML:一、在线Markdown工具;二、Pandoc命令行;三、Python脚本调用markdown与BeautifulSoup;四、浏览器开发者工具手动构造;五、VSCode插件实时渲染导出。
-
合理优化LocalStorage可提升性能与稳定性:合并写入、防抖保存、聚合数据结构、增加异常处理与容量管理,并注意跨标签页同步问题。
-
Flexbox适合一维布局对齐,如导航栏、卡片列表;Grid才适合页面整体二维结构布局,二者应分工明确:Grid划“房间”,Flexbox整“桌椅”。
-
必须用WeakMap而非普通Map或对象,因其对键仅持弱引用,不阻止垃圾回收;而Map/对象持强引用,会导致DOM节点或实例无法释放,引发内存泄漏。
-