-
WebWorker必须使用外部JS文件启动,不支持dataURL或内联脚本;需同源、可fetch加载,禁用file://协议;不支持DOM操作;传大对象应使用transferable避免拷贝;需分别监听worker.onerror、onmessageerror及self.onerror捕获错误;共享内存需SharedArrayBuffer+Atomics并启用COOP/COEP跨域隔离。
-
[attr]选择器仅判断属性是否存在,不关心值内容;如button[disabled]匹配<buttondisabled>和<buttondisabled="">,但不匹配未声明该属性的元素。
-
优先使用gap属性统一网格与弹性布局的间距,配合百分比margin/padding和媒体查询调整,确保响应式下视觉均衡。
-
JavaScript调试核心是掌握“在哪断、怎么看、怎么改”:善用DevTools断点类型(事件监听/XHR/条件断点),巧用console方法(table/group/time/{data}),排查debugger失效原因(sourcemap/执行路径/异步上下文),VSCode调试仅适用于Node/Worker/TS深度场景,且需注意多标签页干扰。
-
本文详解Formik表单中<inputtype="number">在使用小键盘点号(.)输入小数时值意外清空的成因与解决方案,核心在于parseFloat()对本地化小数分隔符的兼容性缺陷及正确处理方式。
-
纯HTML无法实现真正可用的柱状图,必须结合CSS样式与JavaScript逻辑或使用Chart.js等图表库;手动用div模拟存在数据绑定缺失、无坐标轴、不响应式及无障碍支持差等问题。
-
SVG的<title>和<desc>必须作为子元素置于<svg>根节点最开头,顺序为先<title>后<desc>,不可嵌套或颠倒,且需手动插入而非设属性;它们是SVG规范强制支持的可访问性元数据,非HTML标签或注释。
-
readonly是Vue.js中用于声明“预期不被当前作用域修改”的响应式对象的类型提示与弱运行时防护机制,非强隔离;它通过TypeScript类型标记和Proxy警告实现开发期约束,但无法阻止绕过Proxy的赋值;正确用法是在组合式API中返回readonly包装的状态与显式变更函数,配合computed实现安全派生。
-
HTML5视频上传有五种方式:一、表单直接提交;二、input+XMLHttpRequest;三、input+FetchAPI;四、前端格式与大小校验;五、多文件同时上传,均需配合accept属性和FormData使用。
-
BigInt解决了JavaScript中大整数精度丢失问题,能精确表示任意大小整数;它与Number类型不同、不可隐式转换,适用于加密、大ID等场景,但不支持Math方法、JSON序列化及小数运算。
-
<mark>标签原生具有“高亮/标记文本”语义,主流屏幕阅读器默认播报“高亮”提示,无需也不应添加aria-label或aria-roledescription等ARIA属性,否则会丢失内容或造成重复播报;它专用于标识与当前上下文相关的临时片段,如搜索关键词、引用重点,不可滥用为通用强调工具。
-
HTTP/2本身不直接优化Vue组件加载逻辑,但通过多路复用、HPACK压缩和TLS加速,显著提升JS/CSS/图片等静态资源并行加载效率;需前端合理拆分chunk+preload提示,后端启用HTTP/2并禁用ServerPush、改用103EarlyHints,配合Brotli压缩与强缓存策略。
-
Less编译后CSS不热更新,需检查构建工具是否监听.less文件:Webpack需配置style-loader(hmr:true)、css-loader、less-loader链路完整;Vite需启用vite-plugin-less;Parcel需确认未禁用transformer-less。
-
VNode内存优化核心是减少冗余引用与闭包捕获:精简props/attrs、避免render闭包、合理使用patchFlag、清理钩子引用,使VNode尽可能无状态无残留。
-
表单控件默认颜色受浏览器和操作系统限制,部分状态和控件无法用普通CSS覆盖;需用appearance:none解封样式控制权,但会牺牲原生外观与可访问性;accent-color是复选框染色最简方案,但兼容性有限;100%控色只能靠ARIA模拟,代价高昂。