-
document.querySelector与classList.toggle是实现页面动态效果最轻量可靠的基础组合,应通过CSS类而非style.display控制显隐,用requestAnimationFrame替代setTimeout实现平滑动画,scroll/resize需节流,且需根据环境判断动效必要性与降级策略。
-
:blank伪类因未被主流浏览器支持而无法实际使用,它仅是CSSSelectorsLevel4草案,Chrome、Firefox、Safari均不解析;当前唯一可靠方案是:empty(需注意其对空白符敏感)或JS模拟判定。
-
reload()不会重置业务状态,仅重新发起GET请求,表单输入、localStorage、sessionStorage、组件状态等均保留;需主动清理状态再跳转。
-
JavaScript中this指向由调用方式决定:普通调用时非严格模式指向全局对象、严格模式为undefined;对象方法调用时指向该对象;call/apply/bind可显式绑定;箭头函数无this,继承外层词法作用域的this。
-
实现页面“秒开”的关键是首屏内容可呈现时即完成关键路径执行,Vue3的BlockTree机制通过动态/静态分区跳过静态节点patch,大幅提升首帧渲染效率。
-
C++的std::thread在WebAssembly中需手动启用线程支持:编译时加-pthread和-sTHREADS=1,JS加载时用WebAssembly.compile/instantiate配合shared内存,并配置CORP/COP头,否则仍为单线程。
-
使用overflow和padding可解决浮动导致的父元素高度塌陷。首先,通过设置父容器overflow:hidden触发BFC,使其包含浮动子元素,防止布局塌陷;其次,结合padding确保内容与边框间距,提升视觉效果,同时可添加clear:both的清除元素保证布局稳定。该方法无需复杂布局技术,兼容性好,适用于旧项目维护和需广泛浏览器支持的场景。
-
选SSE还是WebSocket取决于通信方向:单向推送用EventSource,双向交互必须用WebSocket;前者轻量但仅服务端推,后者支持全双工且兼容性更优。
-
模块化权限控制的核心是在查找、加载、注册三阶段层层拦截:查找时用MetaPathFinder静默拒绝,加载时用自定义Loader执行前校验,注册后动态冻结模块,越早拦截越安全可控。
-
grid-template-areas必须配合display:grid容器使用,每组引号代表一行,区域名需与grid-area值完全一致;Header/Full/Footer三行布局需设height:100vh和min-height:0才能实现Main自适应与滚动。
-
原生CSS嵌套是纯CSS语法特性,需写在<style>或.css文件中,依赖Chrome116+/Firefox117+/Safari17.4+;失效主因是浏览器版本低、未用&或@nest显式标记、父选择器无效。
-
HTML本身没有函数概念,离线运行取决于JavaScript执行环境与资源加载;onclick等是声明式绑定,真正执行靠JS;ServiceWorker是关键载体,但需HTTPS注册且有缓存策略要求。
-
TreeShaking依赖ES模块的静态export/import,要求模块使用命名导出、避免动态导入和副作用,且打包配置需启用相关优化,否则无法安全消除未使用代码。
-
:placeholder-shown是唯一靠谱的纯CSS空状态检测方式,因:empty对input无效,CSS无法监听value变化,而该伪类原生语义化反映placeholder显示状态。
-
图片不显示主因是src路径错误,基准点为HTML文件所在目录;以/开头为网站根目录绝对路径,无/或./开头为相对路径,../向上退一级;本地双击仅支持相对路径,服务器环境可兼用两种;需检查Network面板状态码、文件名大小写及扩展名一致性。