-
WebWorkers不能直接操作DOM,因运行在独立上下文,无法访问document、window等主线程对象;只能通过postMessage/onmessage通信,数据经结构化克隆,支持普通对象、数组等,不支持函数、RegExp等;Worker必须从外部JS文件创建,路径需同源;可借助SharedArrayBuffer+Atomics实现共享内存,但需跨域隔离响应头;需注意生命周期管理,避免内存泄漏,建议显式调用self.close()。
-
外边距合并是CSS规范定义的垂直相邻块级元素上下margin取较大值而非相加的行为。常见于div间、父子间及空块元素;可用padding/border(需>0)、overflow:hidden、display:flow-root等阻断;负margin也参与合并,调试需查computed值。
-
BEM通过扁平化类名减少CSS重排重绘。其右向匹配高效、规避高成本选择器、支持引擎缓存;须严格遵循三段式语义分层,避免状态混入;与CSS-in-JS或Tailwind共存时需分层协作;构建工具配置错误和语义模糊才是真性能瓶颈。
-
适配器模式的核心思想是解决接口不匹配问题,通过创建一个适配器类,将一个对象的接口转换为客户端期望的另一个接口,从而让原本不兼容的对象能够协同工作;在JavaScript中,它常用于集成老旧API、统一不同服务接口、平滑替换模块或辅助测试,其本质是通过包装现有对象提供新的调用方式,而无需修改源代码;与外观模式(简化复杂系统接口)和装饰器模式(动态增强功能)不同,适配器模式专注于接口转换以实现兼容性,适用于需要复用但接口不匹配的场景,最终提升代码复用性和系统解耦程度。
-
Shapely英雄图默认不居中是因为它作为background-image而非<img>标签存在,text-align和margin无效;需用background-position与background-size配合调整,推荐cover+centercenter,并通过自定义CSS添加且加!important确保生效。
-
首先创建外部CSS文件并编写样式规则,然后在HTML的head中使用link标签引入该文件,最后通过浏览器验证样式是否成功加载并正确应用。
-
要让border-radius和box-shadow同时平滑过渡,需在transition中显式声明二者并保持结构一致:border-radius支持数值过渡,box-shadow要求offset-x、offset-y、blur-radius、spread-radius、color的项数和单位统一,且不可混用inset与非inset;推荐使用相同duration和timing-function,并可叠加transform实现更流畅动画。
-
<colgroup>无法设置整列背景色,因其不渲染视觉样式且CSS规范禁止对<col>应用background-color;应改用tr>th:nth-child(n),tr>td:nth-child(n)选择器作用于单元格,或为跨列场景添加class标记。
-
border:1pxsolid#000是HTML5中设置实线边框最直接且稳定生效的方式,需同时声明宽度、样式、颜色三值,内联样式更易被新版编辑器识别,但须注意各编辑器对CSS的过滤与覆盖规则。
-
HTML5本身不是游戏引擎,所谓“用HTML5制作游戏”实为用Canvas+JavaScript手写渲染与逻辑循环;需通过getContext('2d')绘图、requestAnimationFrame驱动循环、clearRect清屏、fillRect重绘,并用key状态标记法响应键盘输入,再加入边界碰撞检测。
-
Deno默认在沙箱中运行代码,遵循最小权限原则,禁止脚本未经许可访问文件系统、网络等资源。例如,执行constfile=awaitDeno.readTextFile("./config.txt")需通过denorun--allow-read=./config.js显式授权,否则抛出权限错误。支持细粒度控制:--allow-net=hostname限制网络请求目标,--allow-env允许读取环境变量,--allow-run启用子进程,--allow-sys访问系统信息,权限可限定具体路径或域名,避免过度
-
粘性定位通过设置position:sticky和偏移量实现元素在滚动时的吸附效果,常用于导航栏和表格表头。必须指定top、bottom等偏移值,且父容器不能有overflow:hidden,否则失效。典型应用包括顶部导航固定(top:0)、表头跟随滚动及多层级sticky布局,通过z-index控制层叠顺序,确保关键元素可见。正确理解触发条件可避免常见错误,如仅写sticky而未设top值。
-
transform和opacity是安全的动画属性,因其不改变文档流和盒模型,可跳过Layout和Paint阶段,仅由GPU在合成层处理;而width、height、left等布局属性会触发每帧重排,导致卡顿。
-
Flex项中禁用calc()动态计算以避免多次重排,优先用固定值、CSS变量或minmax()/fr;慎用flex-grow/shrink组合,固定尺寸优先;避免强制同步布局读取;Flex容器宜扁平化,复杂场景改用Grid。
-
radio按钮不互斥因name属性不一致;label未绑定导致点击文字无效;默认选中用checked而非defaultChecked;获取值应直接查:checked伪类并判空。