前端技术文章
-
用 Uint8Array.fromBase64 把 Base64 文本直接解码为字节数组,覆盖 base64url、尾块处理、异常分支和旧浏览器降级。251 收藏 -
通过 Vue defineSlots 为 row、summary 具名插槽声明参数类型,配合子组件 slot 数据绑定和父模板解构,说明 TypeScript 工具支持、组件输入与插槽输出的区别,以及静态声明的运行时边界。251 收藏 -
通过 Web Worker 的 postMessage 和 Transferable 转移 ArrayBuffer,掌握所有权交接、detached 状态、TypedArray 视图与常见排查边界。249 收藏 -
HTML popover 能把轻量浮层放进浏览器顶层,并原生处理外部点击和 Escape 关闭。本文用账户操作面板说明声明式写法、三种状态选择和脚本控制边界。249 收藏 -
AbortController 取消 fetch 后,Response 可能已经拿到但响应体还没读完,继续调用 text 或 json 就会抛出 AbortError。本文给出取消判断、单次消费响应体、区分网络失败与请求竞态的实用写法。248 收藏 -
读取 ArrayBuffer 的多字节字段时,DataView 的 offset、字段宽度和 littleEndian 参数必须与协议约定一致。本文用一个字节序读错的故障现场,说明如何定位、修复并封装 Uint16/Uint32 的读取规则。248 收藏 -
Vite 同一主版本的不同分支不一定获得相同维护。本文依据官方当前支持矩阵,说明 8.2、8.1、7.3、8.0 与 6.4 分支分别能获得哪些补丁,以及如何从 lockfile 确认实际版本并选择升级路径。247 收藏 -
Vue 3 使用 provide/inject 传递跨组件状态时,字符串键容易让类型变成 unknown 或 undefined。本文用 InjectionKey 绑定上下文类型,并说明 readonly、必需注入、可选注入和默认值的边界。247 收藏 -
用模板字面量类型生成 xxxChanged 事件名,并通过泛型与索引访问类型让回调参数跟随属性类型推导,最后说明动态字符串和可选属性的边界。247 收藏 -
fetch 请求被取消时,AbortController.abort(reason) 可以把用户主动切换、超时和页面离开区分开。本文用一个可运行的请求封装说明 reason 的传递、catch 判断和兼容边界。246 收藏 -
Vue 中的图表、编辑器、地图等第三方实例通常不需要深度响应式。本文说明如何用 shallowRef 只跟踪根引用,把创建、方法调用、视图状态同步和销毁集中到 composable,并区分 triggerRef、markRaw 与普通 ref 的适用边界。246 收藏 -
用 URL.canParse() 在创建 URL 前预检绝对地址和相对地址,区分 base 参数、布尔结果、构造器异常与兼容降级边界,并说明可解析不等于业务安全。246 收藏 -
@scope 可以把选择器限制在指定 DOM 子树中。本文从 scope root、scope limit、:scope 和 scoping proximity 讲清范围边界,并比较它与普通后代选择器、低特异性写法的取舍。245 收藏 -
用 CSS content-visibility: auto 延迟长列表视口外项目的渲染成本,并结合 contain-intrinsic-size 稳定滚动空间,同时说明 auto、hidden 和 visible 的边界。244 收藏 -
本文介绍如何用 Ja vaScript 为每个字母分配自定义权重(如 a–m=2,n–z=1),精确计算连字符分隔单词的加权总分,并据此决定是否执行非断行连字符(‑)替换,避免依赖易失的字符物理宽度或简单长度计数。 本文介绍如何用 Ja vaScript 为每个字母分配自定义权重(如 a243 收藏