-
原型链是JavaScript中对象查找属性和方法时逐级向上追溯的链条,由每个对象的[[Prototype]]内部属性连接各原型对象直至null构成;它支撑继承、instanceof等机制,是JS对象系统的核心基础。
-
Promise是对异步操作的标准化封装,核心判断标准是结果是否在未来某个时刻获得且有明确成功/失败状态;纯同步计算或立即完成逻辑不应使用Promise。
-
window.name适合存临时业务数据,因其生命周期与窗口绑定、跨域可用、不参与HTTP请求;但仅支持字符串、有容量限制且同域iframe共享,故适用于非敏感、临时、结构简单的数据。
-
图片不居中是因浏览器默认inline样式导致,需设display:block;margin:0auto;或父容器display:flex;justify-content:center;,denoserve不干预样式与响应头。
-
响应式系统SSR“注水”报错本质是客户端激活时DOM结构、文本或节点顺序与服务端输出不一致,导致丢弃HTML重渲染;关键在于确保两端渲染结果严格一致,需统一初始数据、隔离请求状态、规避环境敏感逻辑、校验VNode结构。
-
return()方法是迭代协议中保障资源安全释放的关键机制,用于在迭代被提前终止时执行清理逻辑并返回{value:any,done:true}。
-
移动端分栏堆叠失效的根本原因是viewport缺失、父容器未设flex-wrap:wrap、子项使用固定宽或百分比硬编码;应改用flex:1或grid配媒体查询,配合max-width和响应式gap、line-height等。
-
autofocus仅对原生可聚焦且处于可交互状态的表单元素有效,如text、email、textarea、select、button等;在iOSSafari中静默失效,动态插入、隐藏、禁用或非可聚焦元素上均无效。
-
@media(color-gamut:p3)仅检测设备P3能力,不触发颜色升级;要显示更鲜艳色必须用color(display-p3)函数配合@supports检测,并提供sRGBfallback。
-
直接删掉冗余的<div>和<span>比任何CSS/JS优化都有效;DOM节点超2000时,低端设备layout耗时呈指数级增长。真正拖慢渲染的是人为嵌套的“结构惯性”,如多层<div>套娃、误用<ul>渲染表单、SSR空wrapper、图标单独包层等;应优先用::before/after、gap、outline、语义化标签(如<fieldset>)替代;可通过document.querySelectorAll('*').length快速检测节点
-
最有效解法是正确使用.clearfix类:必须包含content:"";display:table;clear:both,且加在直接包裹浮动子元素的父容器上;单独写clear:both在父元素上无效,因clear只影响自身位置,不解决父容器无法感知浮动子项的高度塌陷问题。
-
过早晋升表现为老年代单次晋升量异常大(如>20MB/sec)、TenuringDistribution中年龄阈值骤降至2且age1对象占比过高、老年代呈阶梯式增长且FullGC释放极少;需排除大对象直入、System.gc()及GC算法差异干扰。
-
Promise是异步流程控制的底层契约,其状态不可逆、then返回新Promise、catch仅捕获前序rejected,违背Promise/A+规范将导致静默失败或卡死。
-
:visited伪类对<img>无效,因浏览器隐私限制仅允许作用于<a>且禁用filter;可靠方案是用JavaScript结合localStorage或class切换实现点击灰度效果。
-
stopImmediatePropagation()用于阻止同一元素上后续同类型事件监听器执行并阻止事件冒泡。它在需中断同元素多个监听器时生效,调用后仅影响绑定顺序在其后的监听器,已执行的不受影响,且不干扰preventDefault()。