-
最简纯前端文件选择控件为<inputtype="file"id="fileInput">,支持accept、multiple、required等属性,id必需以便JS获取;默认样式不可深度定制,::file-selector-button仅Chrome98+较好支持。
-
JavaScript函数默认参数在调用时按声明顺序求值,存在暂时性死区(TDZ),即参数在其默认值初始化完成前不可访问;左侧参数可用于右侧参数默认值计算,但不可引用自身或未初始化的右侧参数。
-
在JavaScript中设置元素的属性值可以使用setAttribute方法或直接操作元素的属性。1.使用setAttribute方法可以设置任何类型的属性,包括自定义属性,但设置的是HTML属性。2.直接操作元素的属性更直观,适用于常见属性,但无法设置自定义属性,且对某些属性效果可能不同。
-
Proxy代理绑定内存地址而非变量名,重赋值会断开响应式;应改内容而非换引用,或改用ref+toRefs、封装可重置reactive工厂函数。
-
应优先使用textContent或createElement+append渲染用户输入,避免innerHTML引发XSS;必须渲染HTML时须用DOMPurify等库净化;服务端需配合上下文编码与CSP头防护。
-
维修预约表单需设action(如/api/submit-maintenance)和method="POST";textarea须加name、wrap="soft"、maxlength并配JS字数提示;datetime-local兼容差,旧版Safari需降级为date+time;错误应按字段实时反馈而非堆在顶部。
-
auto-fill配minmax(250px,1fr)最稳:auto-fill预占位不塌缩,1fr为弹性上限,配合aspect-ratio和object-fit才能防图片变形,响应式优先,IE11需@supports降级。
-
Bun完全兼容Node.js的模块导入语法,importfsfrom'fs'和importfsfrom'node:fs'均可正常工作且性能无差异;推荐统一使用'node:fs'等显式协议导入,以提升代码可读性、明确模块来源,并为未来生态演进预留兼容性。
-
shape-outside必须搭配float才能生效,因浏览器仅对float:left/right元素计算其环绕区域;无float则完全忽略,属规范强制要求。
-
非HTTP环境下link标签失效时,应改用JavaScript动态注入内联style标签,并根据不同环境(Node.js、Electron、WebView等)选择对应读取CSS内容的方式,确保样式可靠生效。
-
getBoundingClientRect()返回元素在视口中的实际像素占据量(含transform、高DPI小数等),包含content+padding+border,不含margin;而style.width或getComputedStyle().width仅反映CSS声明值,不体现最终渲染结果。
-
Git原始提交哈希必须严格为40位小写十六进制字符,正则表达式为^[a-f0-9]{40}$,需配合trim、小写归一化及整串锚定校验。
-
<small>是语义化标签,专用于版权信息、免责声明、脚注等次要但需保留的内容,不可仅作样式控制;滥用会损害可访问性、SEO及语义结构。
-
使用<img>引入外部SVG时currentColor失效,因其独立文档上下文无法继承父级颜色;解决方法为内联SVG或用mask-image/background-image配合单色SVG。
-
Symbol无法隐式转字符串是设计上的主动阻断,JS引擎在+连接、模板字面量、join等隐式转换路径中直接抛TypeError;唯一安全方式是String()或toString()显式转换,或使用sym.description获取描述。