-
用let/const替换var不是语法糖而是刚需,因其消除var的函数作用域、变量提升、全局污染及TDZ模糊等问题,避免意外泄露、覆盖、undefined读取等bug,并通过块级作用域和声明即意图提升代码健壮性与可维护性。
-
箭头函数与传统函数最核心区别是this绑定方式不同:箭头函数this词法绑定、不可变,无arguments、不能new调用、无prototype;传统函数this动态绑定,支持arguments、new及call/apply/bind。
-
Provide适合局部树内隔离状态,Pinia适合跨组件需调试持久化的全局状态;二者互补协同,按状态生命周期归属选择:长期有意义归Pinia,仅模块内有效归Provide。
-
Lighthouse评分卡在80分上不去主因是HTML性能瓶颈:DOM节点过多、内联脚本阻塞渲染、document.write残留、服务端模板冗余空格/注释;需控制DOM节点<1500、优化内联资源位置与体积、正确使用preload及响应头配置。
-
结论:HTML规范必须通过自动化工具落地执行。Prettier统一格式、Stylelint约束类名、模板预置注释、空行划分逻辑、注释标准化并强制英文,配合husky预提交校验,才能真正提升协作效率。
-
::marker仅在原生列表项(ul/ol未设list-style:none)上生效,可改color、content等有限属性,不可改margin/padding/display;content支持字符串和counter(list-item),不支持url()或自定义计数器。
-
倒计时必须用JavaScript实现,HTML无法动态更新;应使用setInterval每秒计算目标时间戳与Date.now()的差值并格式化输出,避免递减变量、整页刷新或innerHTML重写,确保跨浏览器兼容与可访问性。
-
WebRTC本质是逻辑点对点通信,依赖STUN/TURN穿透NAT,但不绕过服务器;受安全上下文、主线程、自动播放策略及WebView兼容性限制;连不上主因ICE候选失败,需配STUN/TURN并确保信令可靠。
-
箭头函数是ES6引入的简洁函数语法,使用=>定义,支持隐式返回且不绑定独立this,而是继承外层作用域的this值。它不能作为构造函数,无prototype属性和arguments对象,需用剩余参数替代。适用于数组方法回调、避免this指向错误的场景,但不可用于需要动态this的对象方法或构造函数中。正确理解其特性可提升代码安全性和可读性。
-
JavaScript递归深度由引擎调用栈容量决定,Chrome约13500层、Firefox约4000–7000层、Safari约20000–25000层;受参数大小、严格模式、嵌套调用及开发者工具影响;推荐改用迭代、微任务或运行时降级保障安全。
-
box-shadow叠太多会卡顿甚至白屏,因每条阴影都需独立模糊、合成与重绘,易致GPU内存溢出或主线程阻塞;单元素建议不超过20条,爆炸效果宜用5–8层+scale动画实现。
-
tbodytr:hover有效需满足:HTML中显式存在tbody标签,且结构符合标准表格(thead/tbody/tfoot);触屏设备默认不支持hover,需用@media(hover:hover)或touchstart/touchend模拟;避免pointer-events:none、优先级冲突及transition:all引发的布局抖动。
-
HTML无法直接发送短信,只能通过sms:协议链接唤起系统默认短信App并预填内容;需注意国际号码格式、中文URL编码、多收件人兼容性差及移动端限制。
-
应使用min-height:100dvh+max-height:100dvh+overflow-y:auto替代height:100vh,配合flex-shrink:0和visualViewport.resize监听,在不支持dvh时降级并用JS动态更新高度。
-
HTMLOG标签本身不会导致社交分享失败,但写错、漏写、缓存未更新或服务端未正确返回会导致平台抓取空白/错误卡片;OG标签须在<head>中由服务端直出,JS动态注入无效;微信需JS-SDK配置且图片必须为绝对URL。