-
Store基类通过Object.defineProperty统一定义响应式访问器,setter嵌入queueMicrotask实现微任务通知,getter支持缓存与校验;用Symbol和WeakMap保障状态隔离与订阅安全,并预留_onStateChange等钩子供子类扩展。
-
JavaScript包管理器是现代前端和Node.js开发的基础设施,解决自动下载复用、依赖关系自管理、环境一致性保障三大问题;npm开箱即用,yarn更稳更快,两者命令对应、切换成本低。
-
:root伪类用于定义全局CSS变量,如颜色、字体等,便于维护和复用;通过var()调用变量,结合JavaScript可实现主题切换,如暗色模式;在媒体查询中重定义:root变量可实现响应式设计,提升项目可扩展性。
-
TailwindCSSv3构建更快的核心是JIT将“全量扫描+预生成”改为“按需扫描+实时生成”,仅解析content路径中静态出现的类名,省去I/O、正则匹配与字符串拼接开销;v2的AOT则硬编码输出约6000行工具类。
-
flex元素右侧堆叠的本质是「剩余空间左对齐」,通过给目标元素设margin-left:auto实现,它仅作用于指定元素且需父容器为flex布局;多个右对齐元素应只给首个加该样式,其余自然跟随排列。
-
应使用语义化<table>结构实现收支明细列表,配合datetime属性、.income/.expense类名、右对齐金额、纯文本符号(如-¥120.00),移动端用CSS媒体查询转为垂直dl布局,并确保导出与可访问性兼容。
-
confirm()是最轻量确认方案但会阻塞JS,正确做法是onclick中先confirm再调用删除函数;现代项目应自定义弹窗并确保点击确认才触发删除;服务端必须校验权限、归属及记录日志;删除后需及时更新DOM状态并处理失败反馈。
-
code标签仅提供语义标识,不保留格式;多行代码必须嵌套在pre中,二者分工明确:pre保留空白符,code声明代码语义,且HTML字符需转义。
-
CSS变量是带作用域的命名空间,非语法糖;应统一定义、语义化命名、禁嵌套引用、慎用calc运算、加命名空间防覆盖,并纳入CI校验与生命周期管理。
-
SharedWorker由JavaScript实例化,非HTML创建;需满足同源、HTTPS/localhost、独立JS文件三大条件,否则构造失败。典型问题包括浏览器不支持、SecurityError、脚本404、跨源加载;页面端须显式调用port.start()才能通信;调试需切换DevTools上下文至shared_worker;共享变量无原子性,需防并发更新。
-
直接改--bs-gutter-x或--bs-gutter-y最轻量推荐,因不依赖Sass编译;不能直接改.row的margin或.col的padding,否则破坏负边距与正内边距配对机制,导致内容偏移、换行错乱。
-
HTML无法实现真正的301重定向,因为HTTP状态码由服务器决定,而<metahttp-equiv="refresh">仅触发客户端跳转(等效302),返回200状态码,不传递权重且影响SEO。
-
<sub>和<sup>仅支持线性文本内的垂直偏移,无法表达键角、空间构型、共价键等结构式要素;它们只适用于原子数、电荷、同位素等短文本语义标记,结构式需SVG、Canvas或ChemDoodle等专用方案。
-
createElement创建XML节点必须用document.createElementNS;动态添加属性须用setAttributeNS;文本内容需用createTextNode;序列化须用XMLSerializer.serializeToString。
-
position:sticky在flex布局中失效,因flex容器默认不创建滚动上下文;应改用fixed定位或确保父容器有明确高度和overflow-y:scroll,并避免transform等干扰属性。