-
JavaScript内存管理本质是理解引擎自动分配、追踪与回收机制,核心在于可达性;V8采用标记-清除策略,闭包、未移除事件监听器、全局属性等会阻止回收;WeakMap/WeakRef提供弱引用,FinalizationRegistry用于资源清理;泄漏常因隐式引用导致。
-
text-indent是HTML首行缩进的唯一标准解法,推荐使用text-indent:2em实现稳定2字符缩进;全角空格等替代方案不可靠,仅限无CSS场景临时使用。
-
页面空白通常源于使用了已废弃的Firebasev8兼容层(firebase/compat/app),而项目实际运行在Firebasev9+模块化SDK环境下,造成运行时错误未被捕获、React应用崩溃。正确做法是迁移到v9+标准模块化导入方式。
-
::marker伪元素用于设置列表项标记的样式,可修改颜色、字体、大小等;它作用于<li>或display:list-item元素,常与list-style-type配合使用;支持属性有限,推荐用::before实现更复杂自定义。
-
var声明变量会提升并初始化为undefined,let/const虽提升但处于暂时性死区(TDZ),声明前访问抛出ReferenceError;var是函数作用域,let/const是块级作用域;const必须初始化且不可重新赋值,但引用类型内部可变。
-
CSS中@import不支持媒体查询,应改用HTML的<link>标签配合media属性实现条件加载,如mobile.css和desktop.css分别设置max-width:768px与min-width:769px,且移动端link需置于PC端前。
-
制作HTML表格的核心是使用<table>标签,并通过<tr>、<th>、<td>等标签构建结构;1.使用<table>定义表格容器;2.用<thead>、<tbody>、<tfoot>划分表头、表体和表尾以增强语义化;3.在各区域内使用<tr>定义行,<th>定义表头单元格,<td>定义数据单元格;4.通过CSS设置border-collapse、padding、text-
-
通过语义化HTML结构分离导航与主体内容,为<main>设置max-width,同时保持<nav>宽度为100%,即可实现导航栏横跨整个视口、主体内容居中且宽度受限的布局效果。
-
JavaScript搜索功能核心是高效数组过滤,需兼顾匹配精度、响应流畅与扩展稳定性:基础用filter()和includes()做大小写不敏感的多字段模糊匹配;加防抖与空值处理提升体验;进阶支持拼音首字母与简单分词;大数据量时应分页、建索引或用WebWorker优化。
-
CSS中背景默认延伸至边框下方,通过background-clip可控制范围;结合border-style、border-image和border-radius等属性,能实现渐变、圆角、阴影等丰富效果,提升页面视觉层次与可读性。
-
可用::before伪元素替换默认圆点,先用list-style:none清除原生符号,再在li上设position:relative,通过::before绝对定位插入content字符并调整样式,配合margin-right或padding-left留白,以及padding-left和top:0.25em适配多行对齐。
-
内联样式优先级最高,会覆盖外链或内部样式,这是CSS层叠机制的正常表现;其优先级顺序为:内联样式(1000)>ID选择器(100)>类/属性/伪类(10)>元素/伪元素(1)>通配符/继承/默认(0),权重不进位,!important需谨慎使用。
-
未清理的事件监听器导致DOM移除后回调仍占用内存;2.闭包不当引用大型对象阻碍回收;3.全局变量意外增长积累内存;4.定时器依赖大型对象使内存无法释放。
-
HTML5没有独立渲染器可卸载,所谓“HTML5渲染器”实为第三方插件或工具(如VRay、CR、glTF导出器等)的误称;真正需清理的是这些捆绑组件,而非HTML5标准本身。
-
position:relative父元素才能使absolute子元素以它为定位上下文;top/left相对于父元素内边距边缘;overflow:hidden会裁剪absolute子元素;z-index仅在同层叠上下文中生效。