-
高阶函数是接受函数为参数或返回函数的函数;JavaScript中map对每个元素调用回调生成新数组,不修改原数组;reduce按序累积计算,返回单一值;二者常组合使用实现先转换后聚合的逻辑。
-
async函数需搭配await才能体现价值,因await可暂停执行等待Promise解决,实现类似同步的异步控制流;单独使用仅自动包装返回值为Promise,无法处理异步等待。
-
闭包本身不会直接导致内存泄漏,但不当使用(如结合全局变量、DOM引用、定时器或事件监听器)易使对象无法被回收;关键在识别并切断非必要强引用,通过置null、移除监听器、清除定时器等手段释放。
-
JavaScript截至2024年无原生异步管道操作符,但可通过自定义pipeAsync函数、await链式变量赋值或fp-ts等库实现异步流程组合。
-
发布-订阅模式通过事件中心实现对象间解耦,JavaScript中可创建EventEmitter类,提供on、off、emit方法支持事件订阅、取消与发布,并可通过once实现一次性监听,适用于组件通信、状态响应和模块解耦等场景。
-
移动端侧边栏应通过媒体查询(如@media(max-width:767px))隐藏,默认display:none,主内容区设width:100%;用“☰”按钮触发抽屉式展开,侧边栏fixed定位+transform过渡+遮罩层;需支持Esc/点击遮罩关闭、键盘导航及读屏适配。
-
使用Flexbox的gap和flex-wrap可实现响应式列表布局,gap统一控制项目间距,避免margin问题,flex-wrap允许项目自动换行,结合justify-content优化对齐,通过媒体查询在不同断点调整gap值,适配多设备显示,提升布局灵活性与美观性。
-
sticky定位失效主因是父容器未提供滚动上下文,需设明确高度且内容溢出;top值应等于元素原上边距而非0;多层嵌套时祖先的transform等属性会破坏粘性;旧版iOS/Chrome需兼容处理。
-
响应式图标布局通过Flexbox的gap属性和媒体查询实现多设备适配,使用flex-wrap换行、gap控制间距,并在不同断点调整图标尺寸与排列方式,提升布局美观性与稳定性。
-
使用CSSanimation与transform:scale()可实现图片平滑缩放。1.HTML中添加图片元素并设置类名;2.用@keyframes定义关键帧动画,如从0.8倍放大至1.2倍再恢复;3.将animation绑定到图片类,设时长3s、无限循环及ease-in-out曲线;4.可选:hover触发交互式缩放,提升用户体验。
-
JavaScript模块通过export导出、import导入,支持命名导出/导入和默认导出/导入,可重命名、批量转发;路径需带扩展名或./开头,浏览器需type="module",Node.js需配置"type":"module"或.mjs后缀。
-
应将尺寸修饰符限定为单一维度,仅作用于根元素且只设width和height,如.avatar--sm;形状、状态等须另起正交修饰符,避免语义混乱。
-
for-of循环通过迭代协议遍历可迭代对象:先调用[Symbol.iterator]获取迭代器,再循环调用next()方法解构{value,done},依done控制终止,不依赖索引或长度,专用于值序列而非属性键。
-
Promise的then/catch/finally回调作为微任务按FIFO顺序执行,resolve/reject同步调用也不打断当前同步流程,链式调用逐级触发微任务,且与queueMicrotask等共享微任务队列。
-
Spacious主题图片默认左对齐,需在“额外CSS”中添加.entry-contentimg.aligncenter{display:block;margin:0auto;}实现居中,右对齐用.entry-contentimg.alignright{float:right;margin-left:1em;},响应式下需加媒体查询覆盖。