-
使用max-width和object-fit可实现响应式图片缩放。首先设置max-width:100%使图片自适应容器,高度等比缩放;再通过object-fit:cover/contain/fill控制填充方式,在固定尺寸容器中保持视觉一致性,结合两者可在不同屏幕下完美显示图片。
-
用border画三角形最稳,因不依赖伪元素、不触发重排、高DPI下不糊;伪元素在移动端易定位漂移、缩放发虚、iOSSafari偶发空白。
-
Promise.resolve()和Promise.reject()是快速创建已决议或已拒绝Promise的静态方法:前者包装值为fulfilled态(支持Promise/thenable/普通值),后者直接返回rejected态(reason不处理);二者均产生微任务,回调在同步代码后执行。
-
JavaScript通知分本地桌面通知和WebPush推送两类:前者通过NotificationAPI在用户交互后触发即时提醒;后者需ServiceWorker、VAPID密钥及服务端配合实现跨页面/后台推送,但Safari(尤其iOS)不支持,且必须HTTPS环境。
-
箭头函数不绑定this,无法替代传统事件处理器;应优先用event.currentTarget获取绑定元素,需访问实例方法时须bind或预绑定,闭包场景才适合用箭头函数捕获外层变量。
-
固定布局通过设置固定宽度和margin:0auto实现居中,常用于精确控制页面结构。典型宽度如960px、1200px需根据设备适配选择,但存在小屏溢出、大屏留白等问题,影响响应式体验。建议结合max-width和媒体查询优化,适用于排版要求高的场景或非移动端项目。掌握其核心是理解width与居中机制,并权衡现代多设备兼容需求。
-
本文详解如何在使用*ngFor遍历对象键值对时,精准向子组件传递“当前数组是否为空”的布尔状态,避免模板语法错误与输入绑定失效,确保样式与逻辑响应一致。
-
双击事件不会自动提升绑定优先级,ondblclick与onclick并列且默认均触发;需用计时器协调二者,避免干扰。
-
隐藏视频却不中断播放的最小安全方案是使用position:absolute+inset:-9999px将视频移出视口,同时保留其在Grid中的网格项位置;避免display:none或visibility:hidden导致暂停播放。
-
Retina屏背景图清晰需用@2x图+mediaquery+background-size:准备icon.png与icon@2x.png,通过(-webkit-min-device-pixel-ratio:2)或(min-resolution:2dppx)切换,并设background-size为逻辑尺寸。
-
用ref实现组件间状态共享的核心是将响应式数据抽到组件外部,多个组件共用同一ref;可通过独立文件导出ref、封装为composable函数或结合provide/inject实现跨层级共享,适用于简单低耦合场景。
-
WebWorkers通过将耗时任务移至后台线程避免主线程阻塞,提升前端性能。它基于独立上下文运行JavaScript,不访问DOM,通过postMessage通信,适用于大数据处理、加密解压等计算密集型任务。创建Worker实例并加载单独JS文件即可实现异步执行,如数组排序不卡页面。需注意结构化克隆带来的通信开销,可采用TransferableObjects实现零拷贝优化,批量传输数据并及时终止Worker释放资源。适合场景包括复杂算法、实时音视频处理等,但小任务不宜使用以免增加复杂度。现代浏览器广泛支持
-
对象字面量{}最常用安全,适合结构明确场景;Object.defineProperty用于精确控制单个属性;点号访问要求合法标识符,方括号支持动态键名;深层嵌套推荐可选链+空值合并。
-
行内图像默认vertical-align:baseline导致与文字基线对齐而非底边,产生错位;图像间空白源于HTML换行/空格;推荐用flex布局替代inline/inline-block以规避对齐和间隙问题。
-
最稳妥方式是用标签包裹<img>标签,因<img>不支持href属性;必须设alt属性,新窗口打开需加target="_blank"和rel="noopener",避免onclick或button模拟链接以保障可访问性。