-
Array.prototype.join()拼接字符串比反复+=更快,配合模板字符串预处理数据可提升性能、可读性与可维护性;应避免频繁DOM操作,一次性innerHTML插入,并做好XSS防护。
-
借用构造函数继承能避免引用类型属性共享,因为每次创建子类实例时都通过call/appl调用父类构造函数,为每个实例独立初始化属性;而原型链继承会使引用属性挂载在原型上被所有实例共享。
-
标签的属性来实现。以下是几种常见的限制多选的方法:1. 禁用多选(仅允许选择一个文件)默认情况下,是单选的。如果你在代码中不小心添加了 multiple 属性,就会变成多选。要限制为只能选择一个文件,只需不添加 multiple 属性。✅ ">
原生<inputtype="file">无法通过HTML属性限制最大文件数,multiple仅控制是否允许多选而非数量上限,必须用JavaScript在change事件中校验input.files长度并清空input.value来拦截超限。
-
color-mix()仅支持混合两个不透明颜色,不处理透明度;需透明时应使用rgba()、hsla()或color()的alpha参数,且输入颜色不可含alpha,色彩空间推荐inoklch。
-
:blank伪类因未被主流浏览器支持而无法实际使用,它仅是CSSSelectorsLevel4草案,Chrome、Firefox、Safari均不解析;当前唯一可靠方案是:empty(需注意其对空白符敏感)或JS模拟判定。
-
document.querySelector与classList.toggle是实现页面动态效果最轻量可靠的基础组合,应通过CSS类而非style.display控制显隐,用requestAnimationFrame替代setTimeout实现平滑动画,scroll/resize需节流,且需根据环境判断动效必要性与降级策略。
-
shape-outside必须与float:left/right同时使用才生效,单独设置无效;最常见失效原因是未声明float,或父容器触发BFC(如overflow:hidden)阻断文字流,调试可启用ChromeLayout面板查看形状轮廓。
-
CSS全局冲突的本质是多源写入同一命名空间,真正有效的解法只有隔离:构建时(CSSModules)、运行时(CSS-in-JS)或人为划界(ID限定+prefix)。
-
WeakSet适合做内部对象白名单,因其仅接受对象、不阻止垃圾回收、不可遍历且无size属性,可实现“存活即合法”的隐式契约;通过闭包封装提供allow/isAllowed接口,确保安全校验。
-
需同时配置viewport元标签、调用FullscreenAPI、用CSS强制铺满并监听屏幕变化:1.viewport设width=device-width、initial-scale=1.0且禁缩放;2.手势触发requestFullscreen()并兼容前缀;3.CSS用fixed+100vh/vw+overflow:hidden模拟全屏;4.监听resize/orientationchange动态调整高度。
-
用gap属性在父容器设gap:8px可均匀分隔按钮;IE不支持则用margin-right和:not(:last-child);按钮宽度不一用flex:1均分或flex:00auto保留内容宽;移动端需足够padding和min-height保障点击区域;响应式需flex-wrap:wrap配合flex-basis计算列宽。
-
Bootstrap4不支持d-inline-flex,应使用.btn-group组件实现按钮并排,因其封装了边框合并、圆角统一和禁用状态联动等关键特性,手动添加display:inline-flex会丢失这些功能。
-
HTML文档必须以<!DOCTYPEhtml>开头且严格位于第一行,<head>中必需<title>和<metacharset="utf-8">(第二行),<body>内用语义化标签替代<div>,<footer>表归属而非位置。
-
<article>仅适用于满足“三可”(可单独存在、可独立引用、可被RSS或卡片流聚合)的独立内容,如博客正文、新闻卡片、用户评论、商品卡片;必须含具体标题及元数据,禁用于容器或功能组件。
-
主题切换时旧样式残留可通过class选择器控制解决,关键在于明确主题class作用范围并提升新样式优先级。将theme-dark或theme-light等class添加到body等根元素,所有主题样式以此class为前缀限定作用域,确保结构清晰。如:.theme-light.header{background:white;}与.theme-dark.header{background:#1a1a1a;},切换时仅需更新body的class。若旧样式仍存在,说明第三方或内联样式优先级高,应使用更具体选择器、