-
JavaScript函数定义有三种方式:函数声明(被提升)、函数表达式(不提升)、箭头函数(无this/arguments,不可构造);调用方式主要有四种:直接调用、作为方法调用、call/apply调用、bind后调用。
-
WeakSet仅支持对象类型,不能标记原始值;用于防对象循环引用时,需先has()判断再add(),原始值因不可变且无引用关系,无需防重复。
-
本文详解如何使用URLSearchParams安全构建查询字符串、避免手动拼接风险,并结合MongoDB的$regex和$in实现模糊匹配与多值筛选,兼顾前端编码规范与后端查询灵活性。
-
:focus伪类仅在元素获得焦点时生效,常见失效原因包括tabindex="-1"、disabled/readonly属性及旧版Safari对contenteditable支持不一致;border样式需协调width/style/动画,避免跳动,推荐聚焦时改色加阴影;placeholder颜色需与focus状态协同;移动端必须重置-webkit-appearance和appearance并添加touch-action:manipulation。
-
原生<select>无法实现真正的下拉动画,因其CSS动画属性被浏览器强制忽略;必须改用<button>+<ul>等语义化结构,通过aria-expanded、transform:scaleY()和状态管理实现可控、可访问的动画效果。
-
本文介绍如何通过MongoDB的$lte查询结合排序与限制,精准匹配分段优惠规则(如4–7人享5%,8–12人享10%),避免传统$gte+$lte区间查询失效的问题。
-
用margin-right实现hover右移会抖动,因改变后父容器剩余空间变小,易触发换行或重排;更稳妥方案是用transform:translateX(),不触发重排、不影响文档流,配合transition和will-change可提升性能与体验。
-
生成器适合做任务切片,因其函数天然支持yield暂停与next恢复,精准匹配“执行一点→让出→空闲→再执行”逻辑,比setTimeout/Promise更易控节奏,比WebWorker更轻量。
-
解决CSS延迟加载导致的FOUC闪屏,核心是让关键CSS尽早同步加载:优先内联首屏关键CSS;非关键CSS用preload+stylesheet组合或media="notall"+onload惰性加载,并做浏览器兼容检测。
-
CSSGrid实现复杂页头需在header容器设display:grid和grid-template-areas(带引号多行声明),子元素grid-area值须严格匹配;响应式需重写entireareas;吸顶用position:sticky于子行而非整个header;box-sizing:border-box必须统一。
-
Howler.js是纯JavaScript音频库,需手动通过script标签引入CDN版本,加载后检查typeofHowl==="function";首次播放必须在用户手势(如click/touchstart)回调中调用play(),否则静音;iOSSafari需显式调用Howler.ctx.resume();复用实例并手动unload()避免内存泄漏。
-
Props设计需类型校验+默认值+required,拆解复杂对象为原子属性;事件通信优先v-model简写与defineExpose;插槽以作用域插槽实现数据与渲染解耦;Provide/Inject应传响应式对象并明确语义。
-
HTML5横向排版可通过五种方法实现:一、Flexbox设flex-direction:row;二、Grid用grid-template-columns定义列轨道;三、writing-mode改变文字流向;四、transform或inline-block模拟横向流;五、ScrollSnap配合flex实现横向滑动吸附。
-
持久化插件失效的核心原因在于配置未识别、环境不匹配或数据不可序列化;需从加载时机、存储介质、字段结构三方面同步排查,验证注册顺序、storage显式声明、paths精确指定及运行环境兼容性。
-
Object.assign()不适合大批量合并,应避免循环调用;推荐对象复用+显式赋值、分片处理、惰性计算及专用深度合并方案。