-
template.content是唯一能取到模板内容的只读属性,返回DocumentFragment;必须用cloneNode(true)或importNode克隆后才能复用,且需手动绑定事件、设置表单状态。
-
Bootstrap和Tailwind等CSS框架通过预设类快速实现卡片阴影与圆角,如Bootstrap的.shadow和.rounded-3,Tailwind的shadow-lg和rounded-xl,结合p-4、bg-white等类构建完整样式,提升开发效率。
-
使用UIkit可快速构建响应式导航菜单,首先通过uk-navbar创建基础导航结构,利用uk-hidden@m配合uk-toggle实现小屏幕下的汉堡按钮,点击触发Dropdown或Off-canvas折叠菜单,结合uk-dropdown或uk-offcanvas属性设置定位与动画模式,无需额外代码即可完成多端适配,关键在于掌握组件联动机制与断点控制。
-
JavaScript定时器通过setTimeout和setInterval实现,前者延迟执行一次,后者周期性重复执行,均返回ID供clearTimeout或clearInterval清除,常用于倒计时、轮播图等场景,需注意及时清理避免内存泄漏。
-
String.prototype.normalize()是解决Unicode等价性问题的核心方法,支持NFC、NFD、NFKC、NFKD四种标准化形式,分别适用于显示存储、底层处理、搜索匹配和文本清洗,但不处理简繁体等非等价字符。
-
手动递归比JSON.stringify更高效:前者支持早停、无序列化开销、复杂度O(n),后者需全量字符串化并扫描,内存与时间成本高。
-
poster属性不支持自动截取第一帧,必须用JavaScript主动截取并赋值;video.currentTime=0后截黑图需检查loadeddata事件、跨域设置、移动端延迟及编码特性。
-
纯CSS画笑脸需用border-radius+clip-path或伪元素分层:脸和眼睛须宽高相等+50%圆角,嘴用clip-path:ellipse()或border技巧配合overflow:hidden裁出弧形,全部使用rem或clamp()保证缩放无锯齿、高保真。
-
移动端input::placeholder样式不生效,需用::-webkit-input-placeholder并加!important;uni-app和小程序须用专用属性;暗色模式应监听媒体查询并切换class;line-height与padding需与input一致。
-
会,text-shadow模拟加粗因软边阴影导致文字模糊,尤其小字号或Retina屏;需设blur-radius为0,用多方向1px硬边阴影(如-1px00,1px00等)并启用GPU加速。
-
网页多语言切换必须在服务端或首屏HTML中正确设置lang属性,JS动态修改无效;lang值须符合BCP47规范(如zh-CN),区分大小写和短横线;局部混排需显式标注lang;:lang()样式需枚举所有可能变体或简化策略。
-
async函数内必须用trycatch包裹await表达式才能捕获异步错误,因async返回Promise,外部trycatch仅捕获同步错误;事件处理器中需显式处理Promise拒绝,避免错误静默丢失。
-
navigator.geolocation需HTTPS或localhost、检查支持性、必须传error回调;watchPosition需手动clearWatch防泄漏;enableHighAccuracy耗电且室内无效;拒绝权限后需降级方案。
-
计算属性比方法更快,因其具备依赖缓存机制:只要依赖数据未变,多次访问直接返回缓存结果;而方法每次调用均重新执行,无缓存。
-
纯CSS可实现侧边栏左右拉伸,但仅WebKit浏览器(Chrome/Safari/Edge)支持通过::-webkit-scrollbar扩展拖拽区域为竖线;Firefox仅限右下角小区域且不支持该扩展,属浏览器限制而非写法错误。