-
color-mix()仅支持混合两个不透明颜色,不处理透明度;需透明时应使用rgba()、hsla()或color()的alpha参数,且输入颜色不可含alpha,色彩空间推荐inoklch。
-
原生<inputtype="file">无法通过HTML属性限制最大文件数,multiple仅控制是否允许多选而非数量上限,必须用JavaScript在change事件中校验input.files长度并清空input.value来拦截超限。
-
借用构造函数继承能避免引用类型属性共享,因为每次创建子类实例时都通过call/appl调用父类构造函数,为每个实例独立初始化属性;而原型链继承会使引用属性挂载在原型上被所有实例共享。
-
Array.prototype.join()拼接字符串比反复+=更快,配合模板字符串预处理数据可提升性能、可读性与可维护性;应避免频繁DOM操作,一次性innerHTML插入,并做好XSS防护。
-
用<audio>标签实现多音频顺序播放需JavaScript监听ended事件,手动切换src并调用play();须确保用户交互触发、每次切换前调用load()、重置currentTime=0,用数组管理路径;newAudio()不可直接播放,MediaSession需手动处理播放逻辑且兼容性有限;preload="metadata"不预加载音频主体,真预加载需fetch+createObjectURL。
-
现代浏览器用@media(prefers-color-scheme:dark)检测系统深色模式,需配合CSS变量实现主题切换,注意HTTP协议加载、系统设置生效及语法正确性。
-
reload()不会重置业务状态,仅重新发起GET请求,表单输入、localStorage、sessionStorage、组件状态等均保留;需主动清理状态再跳转。
-
JavaScript中this指向由调用方式决定:普通调用时非严格模式指向全局对象、严格模式为undefined;对象方法调用时指向该对象;call/apply/bind可显式绑定;箭头函数无this,继承外层词法作用域的this。
-
块状链表通过将数据分块存储,结合链表与数组优势,提升插入、删除和查找效率。
-
实现页面“秒开”的关键是首屏内容可呈现时即完成关键路径执行,Vue3的BlockTree机制通过动态/静态分区跳过静态节点patch,大幅提升首帧渲染效率。
-
vertical-align仅对inline/inline-block元素生效,float元素脱离文档流后变为块级框,vertical-align对其无效;浮动导致父容器高度塌陷,叠加line-height与基线对齐产生底部空隙,真正解法是改用display:block、inline-block+vertical-align或flex布局。
-
动态import()不能在HTML中直接使用,必须在type="module"的JavaScript脚本中调用,且需置于async函数或.then()中;路径须为静态字符串,不可变量拼接,否则构建失败或运行报错。
-
浮动塌陷致父容器高度为0,因浮动元素脱离文档流;IE6–8存在双倍边距、3像素bug等兼容问题;推荐用overflow:hidden触发BFC或display:inline修复,新项目优先用flex并注意IE10前缀。
-
C++的std::thread在WebAssembly中需手动启用线程支持:编译时加-pthread和-sTHREADS=1,JS加载时用WebAssembly.compile/instantiate配合shared内存,并配置CORP/COP头,否则仍为单线程。
-
使用overflow和padding可解决浮动导致的父元素高度塌陷。首先,通过设置父容器overflow:hidden触发BFC,使其包含浮动子元素,防止布局塌陷;其次,结合padding确保内容与边框间距,提升视觉效果,同时可添加clear:both的清除元素保证布局稳定。该方法无需复杂布局技术,兼容性好,适用于旧项目维护和需广泛浏览器支持的场景。