-
focus()失效主因是元素不可聚焦、DOM未就绪或浏览器拦截;需确保元素可聚焦(原生标签或tabindex≥0)、在DOMContentLoaded后调用、并在用户交互中触发聚焦。
-
因为Promise.all不支持暂停、取消、优先级插队或降权重试;需用最小堆实现PriorityQueue,按priority主序、timestamp次序排序任务,并通过运行中Set控制并发与高优“挤掉”低优。
-
Generator函数不直接处理异步,而是通过yield暂停/恢复执行,由执行器(如co、redux-saga)驱动异步流程;async/await是其语言级替代方案,更轻量直观。
-
fetch是Promise驱动,XMLHttpRequest是事件回调驱动;前者默认不带Cookie、无上传进度支持、需AbortController取消,后者默认发Cookie、支持upload.onprogress、直接abort()且兼容性更强。
-
TreeShaking是构建时基于ES模块静态结构移除未使用导出的优化技术,依赖具名导入、字面量导出和无副作用声明,并需正确配置构建工具。
-
怎么用:invalid让输入框自动标红直接加:invalid样式就行,但得先确保表单控件有校验约束(比如required、type="email"),否则浏览器根本不会触发这个伪类。它只对「原生校验失败」生效,不是你随便输点啥就变红。常见错误是写了:invalid却没反应——八成是没加required或用了自定义校验(比如JS的setCustomValidity())但没调用reportValidity()。input[type="email"]输入“abc”会触发
-
可在Jimdo中通过四种方法嵌入动态图表:一、用Chart.jsCDN在HTML区块中直接渲染;二、iframe嵌入外部托管图表页;三、调用GoogleChartsAPI;四、用Datawrapper等工具将表格转为嵌入式图表。
-
纯CSS画标准爱心最稳方式是用伪元素:主元素旋转-45°作底座,::before和::after画两个相切正圆,宽高相等、border-radius:50%、top/left精确定位;动画需设transform-origin:center、用cubic-bezier缓动、uniformscale避免形变。
-
JavaScript数据可视化核心是选库、理清数据流程、渲染图表;推荐Chart.js或Plotly.js入门,D3.js用于高度定制;需准备结构化数据、处理常见格式坑、绑定DOM容器并动态更新。
-
函数节流是通过requestAnimationFrame实现帧同步,匹配屏幕刷新率避免丢帧;滚动回调仅缓存scrollTop和标记RAF注册状态,真实逻辑统一在RAF中执行;需规避强制同步布局、全量DOM更新与复杂计算;动画用transform+will-change硬件加速;监听必须设passive:true。
-
应优先调优VSCode设置而非换编辑器——启用大文件优化、禁用无关扩展与渲染选项,并配合rg/awk等命令行工具分工处理;内存不足时需关注swap和pagecache压力。
-
::after伪元素清除浮动是最实用且不污染结构的方案,需作用于浮动子元素的直接父容器,且该容器不能是flex/grid布局或已有其他::after规则;content:""不可省略,display:table比block更稳,clear:both强制虚拟块落于浮动元素下方以撑开父容器。
-
Husky本身不原生支持HTML,但可在pre-commit钩子中调用prettier等命令处理暂存区HTML文件,需配置--ignore-unknown参数防报错;commit-msg钩子应通过commitlint规范语义(如feat(html)),而非匹配文件类型;pre-push一般不加HTML专项检查,因其无编译链路,宜交由CI统一校验。
-
<p>HTML注释应使用<!---->语法,注明作用域、修改时间与兼容性信息,禁止暴露敏感内容,结合编辑器快捷键与自动化工具提升规范性与可维护性。</p>
-
频繁在循环中使用instanceof会因原型链/继承链遍历导致显著性能开销,10,000次循环×3类型判断×平均5层链长≈150,000次指针跳转;应改用字段标识、专用API或提前分类等更高效方式。