-
WebSocket是独立于HTTP的全双工TCP协议,仅握手阶段借用HTTPUpgrade头,后续通信脱离HTTP请求/响应模型,需专用API、服务端支持及手动重连。
-
text-decoration-color能单独设置删除线颜色,但必须与text-decoration-line:line-through配合使用,否则无效;不支持渐变色,旧版Safari和IE不支持,兼容性差时可用伪元素模拟。
-
代码检查使用ESLint和Prettier确保风格统一;2.Webpack/Vite等工具实现打包与Babel转译;3.Jest和Cypress完成单元与E2E测试;4.通过CI/CD集成实现提交自动构建部署,提升效率。
-
使用CSSGrid的auto-fill和grid-gap可实现响应式瀑布流布局,通过repeat(auto-fill,minmax(250px,1fr))创建自动换行列,结合gap设置项间距,利用内容高度差异形成视觉错落,无需JavaScript即可构建美观的类瀑布流效果。
-
使用Eclipse运行HTML项目需选择EnterpriseJavaandWeb开发者版本,创建DynamicWebProject,在WebContent目录下添加HTML文件,可通过内置浏览器预览或部署至Tomcat服务器运行,推荐后者以支持JS交互与真实环境测试。
-
document.cookie不能安全存储用户数据,因其是无类型、无编码、无隔离的字符串接口;localStorage同样不适用存token或密码,因XSS下可被直接窃取。
-
BroadcastChannelAPI可实现同源页面间高效通信,通过创建相同名称的频道实例并使用postMessage发送消息,addEventListener或onmessage接收消息,需在beforeunload时调用close释放资源,适用于登录状态同步、主题切换等场景。
-
ReactHooks与ContextAPI进阶用法包括:1.useState处理复杂数据时保持不可变性,useEffect精准管理依赖和清理副作用;2.自定义Hook如useLocalStorage提升逻辑复用;3.ContextAPI结合useMemo优化深层传参性能;4.useReducer管理复杂状态流,配合Context实现轻量全局状态。合理组合可构建健壮易维护的中小型应用架构。
-
使用:checked+label可实现无JavaScript的自定义复选框,通过隐藏原生输入框并利用伪元素为关联label创建视觉样式,当复选框选中时改变相邻label的外观,实现美观交互效果。
-
从静态HTML到JavaScript动态渲染列表,通过将数据与视图分离,提升页面灵活性和可维护性。1.传统HTML写死结构适用于内容固定场景,但维护困难;2.使用JS动态渲染,将数据存于数组,通过DOM操作循环生成列表项,实现数据驱动视图;3.利用模板字符串结合map和join生成HTML字符串,再通过innerHTML插入,代码更简洁且性能较好,但需防范XSS风险;4.现代框架如Vue使用v-for、React使用map在JSX中渲染列表,支持响应式更新和组件化开发,适合复杂应用。关键在于抽取数据并用代
-
navigator可获取userAgent、platform、vendor、hardwareConcurrency、deviceMemory、maxTouchPoints等属性,其中platform和maxTouchPoints相对可靠;iOS判断需结合UA匹配与触控特征;UA已因减损策略不可信,推荐用运行时能力探测替代字符串解析。
-
CSS定位在响应式设计中易引发错位、重叠等问题,主因是absolute/fixed脱离文档流,忽略父容器变化;应改用相对单位、sticky替代fixed、显式设置relative参照系,并优先采用Flex/Grid等现代布局替代定位hack。
-
WebWorkers是浏览器提供的后台线程机制,使JS能在不阻塞主线程的前提下执行耗时任务,其核心是隔离的JS上下文,仅通过postMessage通信,不可访问DOM,支持专用/共享Worker及模块化使用。
-
::first-letter伪元素失效主因是首字母未被识别为文本流首字符,需确保其属于块级容器内首个纯文本节点,且父元素为块级上下文,避开浮动、替换元素及HTML结构干扰。
-
轮播图预加载本质是JS控制img的src赋值时机,通过data-src存URL、newImage()触发下载,仅预加载当前页及相邻1–2张,确保URL完全一致且避免并发超限。