前端技术文章
-
锁名必须带业务唯一标识,如update-cart-${userId},且需URL-safe、≤64字符;mode必须显式设为'exclusive';应配置ifAvailable和AbortController防卡死;Safari不支持,需服务端幂等兜底。187 收藏 -
必须显式传入radix,因省略时JavaScript依前缀自动推断进制,导致Number.parseInt("010")在不同环境结果不一致;显式指定如Number.parseInt("010",10)可确保行为确定。391 收藏 -
组合式API的核心优势在于业务逻辑驱动、逻辑复用自然安全、大型组件可维护性高、响应式控制更精细、与现代JS生态融合顺畅。166 收藏 -
top:50%移动的是元素左上角到父容器垂直中线,导致整体偏下;需配合left:50%和transform:translate(-50%,-50%)才真正居中,且父容器须设position:relative。262 收藏 -
mix-blend-mode失效主因是元素未满足重叠且非隔离的叠层条件,需检查isolation、层叠上下文及背景内容;不同混合模式基于像素公式计算,移动端兼容性差,filter执行顺序影响结果。140 收藏 -
fetch()的priority选项根本不存在,不是标准API,所有浏览器均不支持;实际调用会报TypeError或静默忽略,真正影响优先级需依赖preload、发起时机、上下文等间接手段。454 收藏 -
<var>标签仅用于语义化标记文档中提及的变量名(如“result”),适用于技术文档说明,不可用于JavaScript执行或声明变量;它默认斜体渲染,专指单个变量标识符,区别于<code>(任意代码片段)和<span>(无语义)。129 收藏 -
结论:.clearfix::after必须声明content:""才能生效,因其是伪元素渲染前提;display:table比block更兼容旧Safari;clear:both不能直接作用于父容器自身,必须通过伪元素在内部末尾插入清除节点。488 收藏 -
JSON深拷贝后实例失去原始类方法的根本原因是JSON.stringify仅序列化可枚举自有属性,不保留构造函数、原型链及行为逻辑,还原后仅为Object.prototype的普通对象。212 收藏 -
应使用rgba()或hsla()设置背景色透明度,而非opacity;rgba(0,0,0,0.5)使背景半透明而文字保持不透明,且兼容性处理可添加十六进制fallback。259 收藏 -
clear:left和clear:right的作用是让当前元素的外边框边缘不与指定方向的浮动元素重叠,仅调整自身位置,不影响浮动状态或父容器高度;常用于图文环绕、多列混排等需局部对齐场景,但无法解决父容器塌陷,须配合BFC触发机制。270 收藏 -
grid-auto-rows:min-content仅对隐式网格行生效,即未显式定义grid-template-rows时自动创建的行;若已设grid-template-rows,则该属性被忽略。105 收藏 -
datalist本质是为input提供纯文本自动补全的语义容器,仅支持直接子元素option且内容须为纯文本,不支持多列、CSS样式或复杂结构;实现多列需改用自定义下拉组件。322 收藏 -
hasOwnProperty用于判断属性是否为对象自身可枚举属性而非继承自原型链;for...in会遍历原型链上可枚举属性,需用Object.prototype.hasOwnProperty.call过滤;Object.keys()更安全简洁,仅返回自身可枚举字符串键。446 收藏 -
变量提升指JavaScript引擎在编译阶段将声明“记入”作用域顶部,并非真实移动代码;var声明被提升并初始化为undefined,let/const仅提升不初始化而存在TDZ,函数声明整体提升,函数表达式仅变量名提升。497 收藏