-
内联缓存(IC)通过缓存属性查找结果并比对隐藏类实现提速,而非多存数据;其性能取决于对象结构是否统一,单态时最快,多态次之,超态则退化为慢路径。
-
必须为动态添加的路由显式设置唯一name才能用router.removeRoute()安全删除;它仅支持按name字符串精准移除,不识别path、组件或对象引用,且会级联清除其alias和children。
-
最稳妥方式是用CDN引入<link>标签,官方推荐且自动处理加载;注意选Free版、放<head>靠前位置、确保联网;图标类名须用fas/far/fab,禁用旧fa前缀;SVG方式更可靠但需JS支持。
-
函数声明会被完整提升,包括函数名和函数体;函数表达式仅变量名提升,赋值不提升;块级函数声明行为不统一,严格模式下受TDZ约束;箭头函数和class声明不享受函数声明式提升。
-
JavaScript创建自定义事件需用CustomEvent构造函数创建事件对象并调用dispatchEvent触发,监听时通过e.detail获取数据;事件传播分捕获(window→目标父级)、目标、冒泡(目标→window)三阶段,可用stopPropagation()等控制传播。
-
前端代码混淆应在保护逻辑与可维护性间取得平衡,核心算法启用变量替换和控制流扁平化,第三方库跳过混淆;通过私有sourcemap、堆栈映射和保留部分函数名提升可观测性;敏感逻辑可动态加载并运行时解密,分环境实施差异化混淆策略,开发环境关闭混淆,生产环境完整防护并归档sourcemap,避免过度混淆影响效率。
-
enterkeyhint是HTML全局属性,仅对<input>(text/search/url/email/tel等)、<textarea>及contenteditable元素有效,用于提示虚拟键盘回车键显示文字,不改变行为;支持值为enter/done/go/next/previous/search/send,Chrome59+、Edge79+、Safari15.4+支持,Firefox当前仍不支持。
-
translateZ()不能直接实现视差滚动,因其不响应滚动事件,需JavaScript动态计算并结合requestAnimationFrame和translateY模拟;真用translateZ则须配合perspective、preserve-3d及非线性映射,但兼容性与维护成本高。
-
使用浏览器直接打开本地HTML文件,输入file:///路径即可运行JavaScript;2.推荐安装HTMLViewer等专用App进行实时预览和调试;3.对于AJAX等需同源策略的功能,应通过KSWEB等本地服务器运行;4.注意文件路径正确、语法无误,并避免file://协议加载外部资源。
-
按钮禁用状态加:disabled没反应,主因是目标元素非原生可禁用控件(如div/span),仅button/input/select/textarea支持disabled属性和:disabled伪类;应优先使用语义化原生按钮并正确设置disabled布尔属性。
-
grunt-contrib-cssmin仅压缩不合并,需搭配grunt-contrib-concat显式分离合并与压缩;其files写法会分别压缩再写入,不处理@import、顺序错乱及兼容性问题,易致线上样式异常。
-
download属性在IE和Safari中完全不支持,因WebKit/Trident内核未实现该特性;Chrome/Firefox仅支持同源URL且受MIME类型影响;跨域或预览型资源会失效;推荐fetch+Blob+createObjectURL方案并配合服务端Content-Disposition响应头。
-
可靠WebSocket重连需用Ref缓存socket和定时器,采用指数退避重试,组件卸载时清理连接与定时器,并在每次发送前校验readyState;useEffect清理函数必须显式调用socket.close(),事件监听须在effect内绑定并确保幂等性。
-
根本原因是@import会阻塞后续CSS解析与渲染,属CSS规范定义的同步行为;应改用构建工具模块化引入或link并行加载。
-
nobr标签已被HTML5废弃,W3C未采纳,仅靠浏览器兼容性残留渲染;应使用white-space:nowrap替代,它标准、语义清晰、全浏览器支持且可控可靠。