-
JavaScript中I/O操作与宏任务密切相关,1.I/O操作完成后其回调会被放入宏任务队列等待执行;2.这种机制确保主线程不被阻塞,保持响应性;3.宏任务优先级低于微任务,微任务会先于宏任务执行;4.处理大量I/O时可通过批量处理、防抖节流、WebWorkers、流式处理等方式避免性能瓶颈。
-
可以,但需文档托管于公开HTTPS地址且设为“任何人可查看”,src参数须URL编码;不支持本地路径、加密文件及移动端Safari,国内常因域名拦截失败。
-
Esc键是最可靠退出方式,浏览器原生支持且不受JS卡死影响;F11无效于视频全屏;脚本退出需兼容处理;鼠标悬停无反应可双击或右键;刷新页面可重置全屏状态。
-
Next.js13的RouteHandler本身不提供额外加密能力,其安全性取决于是否启用HTTPS、服务端密码哈希处理、请求验证及传输层防护——敏感数据(如密码)绝不可明文传输或存储,必须在服务端使用强哈希(如Argon2或bcrypt)加盐处理。
-
AbortController是用于主动中止异步操作的信号机制,适用于搜索联想、轮询等需及时取消请求的场景;每次请求必须新建实例并传入signal,清理时调用abort(),React中应在useEffect清理函数中执行。
-
IntersectionObserver更高效,因其是浏览器原生异步回调机制,仅在元素进出视口时触发,不阻塞主线程,无需手动节流,支持自定义容器、相交比例及rootMargin精准控制。
-
应使用transformtranslateY实现滚动容器内元素跟随,而非position:fixed或top;需监听容器scroll事件,动态设置translateY偏移,确保父容器无干扰transform/perspective/filter,且避免重排卡顿。
-
computed核心作用是基于响应式数据派生可缓存的响应值;购物车总价计算是典型应用,相比methods(无缓存)和ref(需手动更新),它自动追踪依赖、按需更新;支持深层响应性与多级依赖链。
-
普通对象不可迭代是因为未实现Symbol.iterator方法;需手动添加该方法才能用于for...of等迭代场景,且默认仅遍历自身可枚举属性。
-
loading="lazy"并非万能,需考虑浏览器兼容性、首屏关键图加载稳定性、srcset/sizes语法正确性、框架属性透传及局部滚动容器限制。
-
应使用requestAnimationFrame节流并在scroll回调中实时读取window.scrollY,避免直接高频操作;首次读取需等待DOMContentLoaded或load事件,移动端需同时监听touchmove并设passive:false,只读场景用passive:true提升性能。
-
使用CSSFlexbox实现图片卡片自适应排列,需设置容器display:flex、flex-wrap:wrap和gap,子项通过flex-basis百分比控制宽度,结合flex-grow与flex-shrink实现响应式布局。
-
实现HTML图片响应式显示需五步:一、用max-width:100%和height:auto确保等比缩放;二、用object-fit:cover与object-position控制裁剪和焦点;三、用srcset和sizes适配多分辨率屏幕;四、用details/summary实现纯CSS点击放大;五、用transform:scale()配合overflow:hidden实现悬停局部放大。
-
JavaScript中的this指向取决于函数调用方式而非定义方式:普通调用指向全局对象(非严格模式)或undefined(严格模式),对象方法调用指向该对象,new调用指向新实例,箭头函数继承外层this,事件处理中指向触发元素。
-
摩天轮式旋转动画需两层配合:外层@keyframes控制整体匀速旋转,子项用nth-child配合rotate()和translate()实现均匀分布与正立效果,关键在transform顺序及反向旋转抵消歪斜。