-
JavaScript 可以把 SVG path 的 d 属性交给 new Path2D 构造 Canvas 路径对象,再复用于 fill、stroke 和命中判断。本文说明输入边界、绘制复用、坐标变换与路径副本的职责分工。
-
用 scroll-marker-group、::scroll-marker 和 :target-current 为横向滚动列表生成可聚焦导航标记,说明 before/after 的顺序差异、可访问名称和兼容降级边界。
-
Vue 3 中直接解构 reactive 对象的 primitive 属性会断开响应式连接。本文用排障手册的方式解释原因,并给出 toRefs、toRef 与保留 state.field 三种处理选择。
-
用一个可运行的 CSS 示例解释 backdrop-filter 的透明背景、滤镜叠加和 backdrop root 边界,并给出兼容回退检查。
-
removeAttribute静默失败主因是元素未加载、属性名错误或SVG需用removeAttributeNS;布尔属性须用removeAttribute而非setAttribute('attr','');框架中应改状态而非直接操作DOM。
-
CSS变量是带作用域的命名空间,非语法糖;应统一定义、语义化命名、禁嵌套引用、慎用calc运算、加命名空间防覆盖,并纳入CI校验与生命周期管理。
-
答案:JavaScript通过HistoryAPI实现无刷新路由控制,利用pushState和replaceState操作历史记录,结合popstate事件监听前进后退,可构建简易前端路由系统;实际开发中多使用ReactRouter等基于该API的框架库来管理复杂路由与状态。
-
实现页面平滑滚动主要有两种方式:一是使用JavaScript的scrollIntoView({behavior:'smooth'})方法,简单高效,适用于大多数现代浏览器;二是结合requestAnimationFrame与window.scrollTo()手动实现,可自定义滚动速度、缓动曲线及回调函数,适合需要精细控制的场景。2.CSS的scroll-behavior:smooth属性能全局启用平滑滚动,代码简洁且性能好,但缺乏对滚动过程的控制能力,无法处理复杂逻辑如偏移调整或执行回调,而JavaScr
-
Flex容器未生效需先确认display:flex是否作用于正确父元素且该父元素有可计算高度;rpx慎用于flex-basis等影响布局骨架的属性,避免跨设备尺寸偏差。
-
HTTP/2ServerPush在现代浏览器中已完全失效,Chrome96+、Firefox90+、Edge96+均静默忽略,仅rel="preload"是唯一可行替代方案,需置于<head>中并严格指定as属性。
-
WebSpeechAPI可纯前端实现语音驱动DOM变更与原始文本合成:先检测并初始化SpeechRecognition(Chrome最稳,Safari不支持)和SpeechSynthesis;识别稳定后提取清洗后的transcript,匹配预设指令更新DOM;再根据指令语义获取目标DOM文本内容,用对应语言的SpeechSynthesisUtterance合成反馈;需用cancel()、stop()和onend协调识别与合成,防止冲突。
-
width:min-content计算内容拒绝换行时的最小宽度,非肉眼所见文本块宽;它只依据内容内在断点(如最长英文单词、整段无空格字符串或单个汉字)确定,不受父容器、max-width或空格影响。
-
不能靠toFixed规避金融计算中的舍入误差与精度丢失,因其采用银行家舍入且作用于已失真的浮点数;安全做法是全程使用整数(如“分”)运算,展示时再格式化。
-
@scope...to的内部下界是样式生效的排除边界,即从to指定节点起(含自身及后代)不再匹配该作用域规则,形成“甜甜圈”效果;其生效需to选择器为scope内真实DOM后代且为简单选择器,Chrome125+支持,Firefox/Safari暂不支持。
-
JavaScript中let与var的核心区别在于:作用域(块级vs函数级)、变量提升(TDZ存在与否)、重复声明限制(禁止vs允许)及全局对象绑定(不挂载vs挂载window)。