-
::first-letter生效需满足块级容器、首字符未被内联标签包裹、无前置空白等严格条件;失效主因是HTML结构或CSS环境不合规,而非选择器错误。
-
关键在于正则是否被缓存复用且带g标志并被闭包长期持有,导致lastIndex持续变化干扰匹配;典型表现为对同一字符串连续test结果交替,或lastIndex非零时从中间匹配。
-
HTML5中实线边框必须用CSS显式声明border-style:solid,如border:1pxsolid#ccc;锯齿源于亚像素渲染,需用整数宽度、translateZ(0)、font-smoothing等协同优化。
-
直接对element.outerHTML赋值会销毁原节点并重建,导致Vue/React组件实例、响应式绑定、事件监听器及状态全部丢失;应改用框架原生更新机制(如修改reactive数据或setState),必要时通过key变更触发可控重建。
-
Object.seal()能锁定props结构(禁止增删属性、修改可配置性),但允许修改已有属性值;它并非“无影响”,而是有明确行为边界,适用于需结构只读但值可变的场景。
-
必须基于AST用@babel/parser+@babel/traverse安全提取可混淆标识符:仅处理声明绑定(var/let/const/param),跳过属性名、导入绑定和白名单字段,按作用域隔离生成混淆名,并用replaceWith更新引用。
-
Performance面板录制可实时观察JS堆与DOM节点变化,关键看GC后是否回落;Memory面板用分配时间线定位异步代码分配源头;TaskManager辅助验证跨标签页内存增长;需重点关注未取消Promise、未移除事件监听器、未清除定时器、未节流流式数据四类高危模式。
-
分块模块化检索的核心是“分块设计+静态导入+运行时索引”:按ID区间或哈希前缀预切分数据为ES模块,通过动态import()按需加载,配合索引表快速定位目标块,再用Set/Map实现O(1)查询。
-
<link>必须放在<head>中且含rel="stylesheet"和正确href路径,否则样式不生效;浏览器解析顺序导致FOUC或IE忽略,路径以HTML所在目录为基准,rel属性拼写错误将静默失效。
-
Object.getPrototypeOf是遍历原型链的关键工具,用于构建原型链快照并检测污染;原型链污染需同时满足可控输入、深度合并逻辑、未过滤敏感键名三个条件。
-
Canvas绘图可通过自定义渲染器实现Vue响应式与组件化——核心是将绘制命令转为可diff/patch的VNode,在Canvas2Dcontext上执行;需重写hostCreateElement、hostPatchProp等钩子,并抽象hostContext以支持跨端复用。
-
WebShareAPI仅在HTTPS及特定移动端浏览器中可用,PC端和Safari不支持;微信分享须走JS-SDK签名流程;clipboard复制需用户手势触发;分享图依赖服务端注入的og:image等静态meta标签。
-
使用form标签定义表单结构,设置action、method等属性;2.添加input字段并指定type类型如text、password、email等;3.用label提升可访问性,确保点击文字可激活输入框;4.结合textarea、select、button等控件完善功能。正确使用name属性和语义化标签是关键。
-
在前端开发中,可以通过CSS选择器实现模态框的显示控制,核心方法有1.利用:target伪类和2.使用“CheckboxHack”。1.:target伪类通过URL哈希与元素ID匹配来触发显示,点击关闭链接可清除哈希从而隐藏模态框;2.CheckboxHack则通过复选框的:checked状态结合兄弟选择器控制模态框的可见性。尽管这两种方式无需JavaScript且性能较优,但也存在明显局限,如关闭逻辑受限、多模态框管理困难、缺乏状态管理及无障碍支持不足等。因此,纯CSS方案适用于静态简单的场景,而涉及复
-
正确做法是将REM基准值定义为无单位SCSS变量(如$font-scale:16),在:root中转为px,并用rem-calc()函数统一计算rem值,避免硬编码和JS动态设置冲突。