-
先掌握TDD流程与工具,再通过Jest编写可读、独立的测试用例,实现红-绿-重构循环,如sum函数测试;选择Jest因内置断言和mock,配置脚本后写test文件验证行为;用jest.fn()隔离依赖,结合--watch与CI集成,生成覆盖率报告,聚焦核心逻辑测试,逐步养成习惯提升代码质量。
-
原生checkbox是语义化、可访问且表单集成的布尔控件,其状态切换依赖:checked伪类与change事件;用button模拟会丢失语义、无障碍支持和自动表单提交能力。
-
渐变方向必须用媒体查询完整重写linear-gradient(),不能只改to值;colorstop百分比在非正方形容器中视觉位置会偏移,CSS变量在gradient方向参数中兼容性有限。
-
JavaScript的trim系列方法仅去除Unicode规范定义的空白字符(如空格、制表符、BOM等),不处理全角空格;trimStart()/trimEnd()是ES2019标准方法,替代已废弃的trimLeft()/trimRight();所有方法均返回新字符串且不修改原串。
-
float元素不受z-index控制,因为其未创建层叠上下文且z-index仅对定位元素生效;必须添加position:relative等才能启用z-index。
-
组件API设计应以开发者体验为核心,优先暴露语义化属性(value、min、disabled)和事件/方法控制状态,避免过度暴露内部属性;attributeChangedCallback需防批量触发与死循环;对外方法统一返回Promise;slot与事件才是核心扩展点。
-
教育网站HTML布局须用语义标签+流式控制:课程模块用带标题的<section>,时间用<timedatetime>,导航用带aria-label的<nav>(限2–3个),主结构用grid、内部对齐用flex。
-
HTML页面乱码主因是编码声明与文件实际保存编码不一致,需确保编辑器保存格式、<metacharset>标签、HTTP响应头三者统一为UTF-8且无BOM。
-
HTML5资源无法显示通常因路径错误,解决方法包括:一、相对路径(如src="images/logo.png");二、绝对路径(如src="/media/video.mp4");三、dataURL内联小资源;四、base标签统一基准路径;五、避免file://协议安全拦截。
-
float元素文字不环绕而换行,主因是后续块级容器未清除浮动或未触发BFC,导致无视浮动剩余空间;父容器塌陷也会造成视觉错位;文字需处于同一块级容器内的内联上下文中才可环绕。
-
能用但需兼容处理:Chrome/Edge111+、Safari16.4+原生支持,Firefox不支持;lab()基于人眼感知均匀色空间,明度L与色度a/b更符合视觉差异,适用于灰阶控制、可访问性对比度及自然颜色插值,需回退rgb()、@supports检测并截断a/b值。
-
margin:auto在flex中仅在有剩余空间的主轴或交叉轴方向生效;主轴填满时单侧margin无效,四边auto仅当两轴均有剩余空间才居中,IE11不支持单方向auto。
-
使用100%宽度和box-sizing:border-box确保输入框适配容器;2.通过@media(max-width:768px)调整字体和间距提升可读性;3.添加viewport元标签防止缩放问题;4.设置最小高度44px并预留外边距优化触屏体验。
-
最简实现是用onclick修改img的src,配合图片数组和取模索引轮转;多图区域应改用data-index绑定状态;切换时需用transitionend事件控制淡入淡出;加载失败须先清onerror再设备用图。
-
标记-清除是V8等现代引擎唯一依赖的核心垃圾回收算法,它从根(如window、调用栈变量)出发递归标记可达对象,未被标记的循环引用对象也会被清除;常见泄漏点包括未清理setInterval、DOM移除后未解绑事件监听器、闭包过度捕获及console.log隐式保留引用。