-
在JavaScript中通过JSDoc或TypeScript可标注对象可选属性:1.JSDoc用[prop]表示可选,如@typedef{Object}UserConfig@property{string}[email];2.TypeScript用prop?:type,如age?:number;应根据项目选择规范以提升可读性和维护性。
-
PendingPromise本身不导致内存泄漏,但若持有闭包、DOM、大对象或async上下文等强引用,则会阻碍GC;需通过DevTools检查Retainers、避免悬空链、注入超时与取消机制来防控。
-
HTML本身不能CDN加速,需将script/link/img等外部资源替换为CDN域名URL;通过浏览器Network面板检查RequestURL是否为CDN地址及响应头x-cache等字段验证是否命中CDN。
-
keygen标签已被彻底移除,所有主流浏览器均不解析;其替代方案是WebCryptoAPI手动生成密钥对或优先采用WebAuthn进行身份认证。
-
JavaScript类型转换分隐式和显式,隐式转换在==、+、-等运算及布尔判断中自动发生,如1+"2"→"12"、"6"-"2"→4、[]为真值;对象转换先调用valueOf()再toString()。
-
需在input和blur事件中调用checkValidity()触发红框和气泡,用setCustomValidity('')重置状态并自定义提示文案,禁用reportValidity()避免干扰,通过JS驱动验证状态确保:invalid生效。
-
absolute子菜单总飘左上角是因为父级未设position:relative;它相对于最近非static祖先定位,若无则贴body;须确保直接父容器(如li.menu-item)设relative,且DOM无缝隙、交互全覆盖。
-
flex容器上设break-inside:avoid无效,因分页控制需作用于块级子项;必须为每个卡片等子项单独添加该属性,并确保无overflow:hidden、transform、绝对定位等干扰,推荐@mediaprint中降级为block布局。
-
根本原因是自定义CSS强制设置display:block或display:none,覆盖了BootstrapJS动态注入的内联样式;Collapse依赖JS切换.show类并写入style="display:block/none",而高优先级CSS会锁死该属性,导致视觉无变化。
-
用<divrole="alert">实现语义化顶部警告横幅,配合position:fixed;top:0;width:100%;z-index:1000;和display:flex;align-items:center;布局,关闭时应调用element.remove()并处理焦点与可访问性。
-
直接用CSSfilter组合实现复古老照片色偏:sepia(0.8)contrast(1.2)brightness(0.9)hue-rotate(-10deg),配合radial-gradient暗角和系统衬线字体,兼容方案用内联SVG滤镜兜底。
-
打印内容被截断或空白页多,核心是浏览器未合理处理分页逻辑;应优先用break-inside:avoid保持容器完整,慎用display:none,显式声明颜色与宽度,确保表头跨页复现,并将打印样式严格限定在@mediaprint块内。
-
CSS工具和框架本质不同:工具提升编写效率,如Sass、CSS-in-JS、PostCSS;框架提供现成样式,如Tailwind(原子类)、Bootstrap(组件化)、Materialize(设计系统)。选择取决于需求:统一管理用工具,快速搭建用框架。
-
HTML5中script标签的type属性可省略,默认为text/javascript;仅type="module"有实质性行为差异,启用ES模块系统;type="application/json"等用于存储非执行数据。
-
Bootstrap5按钮hover背景色不生效,因:focus/:active样式覆盖或权重更高;应同时定义:hover/:focus/:active三态,提高选择器特异性,并适配深色模式及Sass变量定制。