-
Object.defineProperties实现双向同步的核心是手动建立属性间响应式关联,通过get/set拦截读写并主动触发更新或反向赋值,适用于结构明确的业务对象,需明确定义主从关系、防循环触发、补充事件通知。
-
replace默认仅替换首个匹配项,加g标志才全局替换;replaceAll只支持字符串或带g的正则,否则报错,且不支持回调函数。
-
@extend是选择器合并而非复制粘贴,仅适用于无上下文依赖的纯辅助类(如.sr-only、%clearfix);滥用会导致选择器爆炸、优先级错乱和跨文件失效。
-
Less中需自定义单位转换函数,核心是用unit()提取数值、unitless()和isdimension()组合判断类型,基准值设为变量以支持响应式动态切换,拼接单位必须用+号。
-
navigator.deviceMemory无法获取精确内存信息,只能提供近似值。1.navigator.deviceMemory是当前唯一标准属性,但返回的是2的幂次方近似值,如4、8等,并非真实GB数;2.浏览器出于隐私保护限制精确值,防止用户指纹识别;3.可通过该值粗略判断设备性能,指导资源加载策略,如高配设备加载高清图,低配设备优化资源;4.其他API如performance.memory仅反映JS堆内存使用情况,无法获取整机内存;5.若需更详细硬件信息,需借助原生应用或特定环境工具。
-
iOSSafari中border-radius:0对表单按钮无效,因-webkit-appearance:button强制走原生渲染,跳过CSS圆角计算;需统一设-webkit-appearance:none才能生效。
-
csscolor-contrast()通过自动计算背景色与备选色的对比度,选择符合WCAG标准的颜色,确保文本可读性;在响应式设计中实现主题切换时的文本自适应;结合LCH/OKLCH等现代颜色空间,提升视觉一致性与设计自由度,优化无障碍体验。
-
scrollBehavior在新DOM渲染完成但未激活前调用,通过读取当前scrollTop捕获用户最后视图位置;返回{x:0,y:0}滚动到顶、{selector:'#id'}滚动到元素、null不滚动、Promise可异步控制。
-
typeof对字符串字面量返回"string",对String包装对象返回"object";前者是编译期确定的常量,后者是引用类型实例,instanceof不可靠且易受原型篡改影响。
-
abbr必须带非空、准确、标准的title属性才具语义作用,否则等同普通span;title仅提供结构化语义,不适用于可控UI提示,且移动端基本无效。
-
使用百分比宽度设置容器,配合max-width和min-width控制弹性范围,结合box-sizing:border-box防止布局溢出,并通过max-width:100%使图片自适应,实现流式布局。
-
模板字符串是ES6用反引号定义的字符串新语法,支持多行书写、变量嵌入${}、表达式计算及函数标签化处理,使文本操作更自然、安全、少出错。
-
<ol><li>要实现文字逐字闪烁效果,需将每个字符包裹在span标签中,并通过CSS变量和animation-delay实现交错延迟;2.使用steps()函数可让闪烁呈现分帧式的硬切换效果,模拟老式屏幕的颗粒感;3.结合animation-duration控制整体节奏,steps(1,end)确保状态瞬间切换,避免平滑过渡;4.通过calc(var(--i,0)*0.1s)动态计算每个字符的延迟,实现逐字依次闪烁;5.除闪烁外,steps()还可用于打字机、帧动画等需要离散变化
-
HTML原生不支持onclack等自定义事件属性,必须用CustomEvent创建、dispatchEvent触发、addEventListener监听;detail字段传结构化数据,bubbles和cancelable控制冒泡与取消;事件名须全小写连字符。
-
可通过设置Error.stackTraceLimit延长错误堆栈帧数以增强异步错误溯源能力,默认值10易截断原始调用点;开发环境建议设为50,生产环境宜保持默认或临时提升,并需配合Chrome异步堆栈开关及合理监控策略。