-
CompressionStream不能直接压缩DOM状态快照,需先采集(如outerHTML、scroll、input值等)、再序列化为JSON并转为Uint8Array流,最后通过CompressionStream压缩传输,服务端须支持gzip解压且正确设置Content-Encoding和Content-Type。
-
原生拖拽需在dragstart中调用dataTransfer.setData(),否则后续事件失效;dragover必须preventDefault()且目标元素需可接收;drop时getData类型须与setData严格匹配;移动端不支持该API。
-
最直接实现导航栏左右分布用justify-content:space-between,需父容器display:flex且子元素分左右容器包裹;居中主菜单宜用margin:auto;响应式优先flex-wrap+order;避免float或absolute。
-
HTML4中script默认同步阻塞,HTML5新增async(下载完立即执行,顺序不确定)和defer(DOM解析后按序执行),二者仅对外部脚本生效,内联脚本忽略这些属性。
-
使用position:sticky实现导航栏吸顶时,必须设置top值并确保其有可滚动的后续内容;父容器的overflow:hidden通常不是根本原因。
-
HTML5不支持RTSP协议,必须通过服务端转协议(如HLS、WebRTC、WebSocket+MSE),且页面须运行在HTTPS或localhost安全上下文中;所有资源(.m3u8、.ts、wss)均需HTTPS/WSS,CORS与证书链配置也必须合规。
-
变量提升是JavaScript中var声明被提升并初始化为undefined,而let/const声明虽被提升但不初始化,访问会触发ReferenceError,该区域称暂时性死区(TDZ)。
-
浮动元素无法通过z-index改变层级,因其未创建层叠上下文且z-index仅对定位元素有效。需同时设置position为relative、absolute等非static值才能使z-index生效。例如添加position:relative后,z-index即可正确控制层叠顺序。需注意父容器若创建了层叠上下文(如设置opacity),仍会影响子元素的最终显示层级。
-
this的指向由函数调用方式决定:1.全局环境中指向全局对象(非严格模式)或undefined(严格模式函数中);2.作为对象方法调用时指向该对象;3.构造函数中指向新创建的实例;4.call、apply、bind可显式绑定this;5.箭头函数无自身this,继承外层作用域;6.事件处理函数中通常指向触发事件的DOM元素。
-
答案:JavaScript实现剪贴板复制有三种主要方式。1.使用已废弃但兼容性好的document.execCommand("copy"),需创建临时文本元素并触发用户事件;2.推荐使用现代ClipboardAPI的navigator.clipboard.writeText(),更安全高效,支持异步操作但需HTTPS环境和用户手势触发;3.通过判断浏览器支持情况自动降级,优先使用API,不支持时回退到传统方法。实际应用中应根据项目需求选择方案,新项目用API,旧浏览器用兼容方案,并提供复制成功提示以提升体
-
父元素的overflow属性会影响绝对或固定定位元素的显示与定位基准,当overflow非visible时可能裁剪子元素或改变包含块边界,尤其在父元素创建层叠上下文时fixed定位也会受限,可通过调整DOM结构、修改overflow值或使用Portal技术避免干扰。
-
柯里化是将多参数函数转换为单参数函数链的过程,通过闭包逐步积累参数,支持部分应用、提升复用性与组合能力,但需权衡可读性与适用场景。
-
Intl仅负责格式化(日期、数字、货币、排序),不处理翻译;需自行管理翻译资源,并结合Intl.Locale等API实现本地化渲染。
-
使用CSS:hover伪类可为按钮添加悬停效果,提升交互体验。通过改变背景色、文字颜色、边框、阴影并结合transition实现平滑动画,如示例中按钮背景变深、边框加暗、添加阴影和轻微上移。需注意兼容性,避免在悬停中触发关键功能,控制过渡时间在0.1~0.3秒,保持颜色对比度,防止大幅位移影响页面稳定性。
-
使用LiveServer扩展可实现实时预览,直接双击HTML文件可在浏览器中快速查看,或通过VSC终端运行Python服务器模拟真实环境访问页面。