-
before()方法用于在被选元素前插入内容,作为兄弟节点出现;2.可插入HTML字符串、DOM元素、jQuery对象等;3.与prepend()(内部插入)和after()(后置插入)不同,before()在外部前置内容。
-
JavaScript的函数式风格指以纯函数、不可变数据、声明式组合为核心的编程范式,要求函数无副作用、不修改状态、用const替代let/var,并通过pipe/compose组合单参数纯函数。
-
Object.defineProperties可批量配置带权限控制的属性描述符,核心是将读写权限、隐藏逻辑封装进get/set,通过统一策略函数canAccess动态控制访问行为,避免硬编码重复判断。
-
直接用PerformanceObserver监听"first-input"是唯一准确获取真实FID的方式;FID(entry.duration)量化主线程卡顿程度,即用户操作到浏览器开始处理间的阻塞时长。
-
JavaScript类型转换分显式和隐式两种。显式转换通过Number()、String()、Boolean()手动转类型;隐式转换在运算时自动发生,如+操作符触发字符串拼接,数学运算符触发数字转换,逻辑判断依据真值表。使用==时会进行类型转换,推荐用===避免意外。对象转原始值调用valueOf()或toString(),数组加空字符串即转为字符串。掌握这些规则可减少bug。
-
HTML本身不支持3D,真正实现靠CSS的perspective、transform-style:preserve-3d和transform系列函数;perspective必须设在父容器上,preserve-3d需作用于变换父元素以保留子元素Z轴坐标,且Z值须在透视范围内才生效。
-
align-items:stretch没起作用是因为父容器缺少明确的交叉轴尺寸(如height/min-height),或子元素设置了height、min-height、align-self等限制;flex-direction:column时它控制宽度而非高度。
-
应优先用em,因其传达语义强调,使屏幕阅读器重读、SEO识别重点;i仅用于外文词、术语等无强调意图的惯例斜体场景。
-
应使用rgba()等颜色函数设置背景透明,而非opacity,因opacity会使子元素继承叠加透明度导致内容发虚;rgba()只作用于指定颜色属性,确保文字等内容保持完全不透明。
-
WebComponents中事件穿透需同时设置bubbles:true和composed:true;仅bubbles:true无法突破ShadowDOM边界,composed:true才允许事件抵达lightDOM或外层组件。
-
GPU加速在HTML渲染中默认开启但需满足可合成层条件才生效,关键看是否触发重排;transform和opacity等属性真正走GPU,而width、height等会引发重排导致GPU不参与计算。
-
Symbol.toPrimitive是实例级可配置方法,需在每个类中显式定义;应在基类封装\_getPrimitiveValue供子类覆写,并根据hint返回合适原始值,确保数学运算一致性。
-
mask-position动态变化无效是因为旧规范将其列为不可动画属性,Chrome115+/Safari16.4+才支持,Firefox仍不支持;应改用mask-image配合CSS变量和background-position模拟动画。
-
:invalid伪类可自动为未通过原生验证的表单控件(如required、type="email"等)添加红边框;需配合:placeholder-shown或:user-invalid延迟提示,并可用:valid提供绿色正向反馈。
-
必须为容器设置max-width并配合margin:0auto实现居中,否则大屏下正文行宽超120字符致阅读效率骤降;需确保元素为块级、避免误用margin:auto或max-width:100%等常见错误。