-
增量标记通过将标记工作拆分为多个小步穿插执行,避免长时间STW停顿;其依赖三色标记模型(白=未扫描/可能垃圾、灰=待扫描、黑=已扫描/存活),并结合写屏障解决并发修改导致的漏标问题。
-
优化HTML运行速度需从结构、资源加载等方面入手:一、正确使用DOCTYPE和闭合标签,合理嵌套,优先加载关键内容;二、减少DOM节点,删除冗余div,用CSS布局替代表格;三、脚本异步加载,独立脚本用async,顺序依赖用defer,CSS置head并设media属性;四、服务器启用GZIP压缩,压缩HTML、CSS、JS文件,减小传输体积;五、采用语义化标签如header、nav、article等替代无意义div,提升解析效率。
-
只有当元素频繁动画且已确认卡顿时才用will-change,须配合transform/opacity并动态启停;滥用会增内存开销、触发回流或过度分层。
-
ASP中稳妥渲染HTML5列表需分段输出标签、对内容调用Server.HTMLEncode()清洗、用计数器而非AbsolutePosition控制序号、Split后Trim并跳过空项、仅输出语义化class与data属性。
-
box-sizing:border-box是将border和padding计入width/height的计算基准;默认content-box会使实际宽高超出设定值,导致布局错位;推荐全局用、::before、*::after设置,并注意第三方库、内联样式及iframe需单独处理。
-
本文详解如何精准控制10个圆点在页面中按100ms间隔依次出现、缩放淡出,并无限循环——关键在于分离动画触发逻辑(animationend+动态添加.anim类),避免setTimeout直接调用导致的动画失效问题。
-
JavaScript中实现代理的核心机制是ES6的Proxy对象,它通过拦截目标对象的操作实现自定义行为,需传入目标对象和包含get、set、apply等陷阱方法的handler对象,结合Reflect确保正确执行默认操作,从而实现如数据校验、响应式系统等高级功能,相比Object.defineProperty具有拦截更全面、支持动态属性和数组操作的优势,尽管存在兼容性限制,但已成为现代前端框架如Vue3实现响应式系统的首选方案。
-
HTTPS页面加载HTTP资源会被浏览器直接阻断,控制台报MixedContent错误;主动混合内容(如script、iframe)一律阻止,被动内容(如img)新版Chrome也屏蔽,并显示“不安全”提示。
-
HTML本身没有函数概念,所谓“HTML函数”实为JavaScript函数;多屏不提升JS执行效率,但改善调试体验;真正影响函数性能的是事件节流、DOM批量操作、循环优化及console.log的懒求值陷阱。
-
Fragment+rAF能提升性能是因为Fragment在内存中操作不触发重排,rAF将操作延至重绘前并支持分帧执行,避免主线程长时间阻塞。
-
background-colortransition失效主因是颜色值不可插值、状态未对齐或触发时机错误;需显式声明初始色值、在初始CSS中提前写死transition、用getComputedStyle或setTimeout避免JS跳变。
-
e.preventDefault()有时无效的主因是事件未绑定到真正触发目标:如监听却点击其子元素,或在表单中误监听click而非submit;href="#"会触发锚点滚动且preventDefault无法阻止;古董浏览器需兼容e.returnValue=false;框架中修饰符须直接作用于标签本身。
-
防抖与节流机制不同:防抖是“停手后执行一次”,节流是“固定频率最多执行一次”;防抖需闭包保存timer、清除重设、正确传递this和参数,并支持immediate模式。
-
TrustedTypes不能彻底杜绝XSS,但可强制拦截未过滤的innerHTML赋值——前提是CSP响应头正确配置require-trusted-types-for'script'和trusted-typesdefault,且策略函数严格返回TrustedHTML(如用DOMPurify.sanitize(...,{RETURN_TRUSTED_TYPE:true})),禁用字符串拼接、正则过滤及类型绕过操作。
-
HTML无原生“精华”语义标签,加权依赖后端注入data-属性(如data-essence="true")并由前端JS/CSS消费,首屏直出确保稳定性与SEO,ARIA仅用于无障碍,不参与权重逻辑。