-
答案:处理CSS浮动中文本对齐需清除浮动、触发BFC解决塌陷、设置text-align对齐文本,推荐用Flex布局替代。
-
JavaScript迭代器是明确协议而非语法糖;对象需实现[Symbol.iterator]方法返回符合{value,done}结构的迭代器对象,Array、String等原生类型已实现该协议。
-
正确使用HTML5视频控件需添加controls属性并设置宽高,通过source标签指定视频路径和格式,推荐MP4以确保兼容性;为适配不同浏览器可提供多个格式源文件;可选autoplay、muted、loop和preload属性实现自动播放、静音、循环及预加载功能;若控件不显示,应检查controls是否遗漏、路径是否正确、服务器MIME类型配置及浏览器自动播放策略限制。
-
构建基于全链路耗时打点的前端性能“漏斗模型”,核心不是单纯看页面加载快慢,而是把用户一次关键交互(比如点击下单、提交表单、播放视频)拆解成若干有先后依赖的技术环节,每个环节记录真实耗时与成功状态,从而定位“卡在哪一步”“为什么失败”。它和传统业务漏斗互补:业务漏斗告诉你“谁没走到最后”,性能漏斗告诉你“走到这步的人,为什么卡住或放弃”。明确关键交互路径与技术节点先锁定你要分析的用户动作,再逆向拆解其背后的技术链路。不能只写“下单成功”,要细化到可测量的原子事件:用户点击“立即购买”按钮(交互
-
@import的layer选项用于将导入样式表显式放入命名层叠层,需满足顶层位置和合法层名两个前提;常见失效原因包括嵌套在条件规则内、层名不一致、导入顺序错误及混用匿名与具名层。
-
Object.getPrototypeOf可绕过被篡改的constructor,沿原型链查找首个非Object.prototype的原型并读取其constructor,从而识别混淆后的原始构造函数;结合toStringTag、function.name和原型链指纹可批量检测伪造继承与类型伪装。
-
await遇到被拒绝的Promise时会抛出异常,但若未用try-catch捕获,错误虽被抛出,后续同步代码仍可能因未中断执行流而意外运行;本文详解原因、修复方案及最佳实践。await遇到被拒绝的Promise时会抛出异常,但若未用`try-catch`捕获,错误虽被抛出,后续同步代码仍可能因未中断执行流而意外运行;本文详解原因、修复方案及最佳实践。在使用async/await时,一个常见误区是认为只要写了await,Promise
-
::backdrop仅对调用showModal()的原生<dialog>元素生效,不支持div等自定义组件;其样式仅限background、opacity、filter等,不可设宽高定位;需用:root变量配合媒体查询实现主题切换;自定义模态框应使用显式遮罩div替代。
-
JavaScript无原生抽象类和接口,但可通过构造函数检查、运行时抛错模拟抽象类,用对象契约+校验函数模拟接口;TypeScript提供编译期interface和abstractclass支持;工程中推荐TS或JSDoc+断言,避免过度继承。
-
旧版clip仅支持rect()且只对absolute/fixed/sticky元素生效,语法为clip:rect(top,right,bottom,left),值仅限px或auto;clip-path是现代替代方案,支持inset()、circle()、polygon()等,但坐标系和语义与旧版相反,且需注意overflow、transform兼容性及性能问题。
-
JavaScript的解构赋值基于结构相似性实现数据提取,非真正模式匹配。它通过语法糖按索引或键名直接映射:数组按位置、对象按属性名逐层提取,支持嵌套与默认值,但无回溯、守卫或多分支机制。
-
aria-pressed用于标识按钮的“按下”状态,适用于切换行为的按钮。1.它不是描述按钮是否可点击,而是反映其当前状态,如静音或播放/暂停按钮;2.可用在原生<button>或带role="button"的元素上;3.其值为true、false或mixed,需通过JavaScript动态更新以匹配视觉状态;4.与aria-checked(复选框状态)和aria-selected(集合中选中项)不同,分别应用于不同语义场景;5.动态更新至关重要,确保屏幕阅读器能实时反馈状
-
答案:浏览器文件分片上传通过FileAPI将大文件切片,利用FormData逐个发送,结合并发控制与断点续传提升稳定性。具体为:1.使用File.slice()按字节分割文件;2.每片携带索引、总片数、fileId等信息通过fetch上传;3.限制并发请求数避免资源耗尽,使用Promise控制执行节奏;4.服务端接收并存储分片,记录状态,待全部到位后合并。关键在于前后端协同、错误处理与进度管理。
-
async不是<link>元素的合法属性,对rel="stylesheet"无效,浏览器会静默忽略并同步阻塞渲染;真正有效的异步CSS加载方案是media="print"配合onload="this.media='all'"。
-
Chrome105+、Firefox121+、Safari15.4+已默认支持:has(),但Safari15.4–16.3对+/~兄弟选择器支持不稳定;:has()内禁用:hover/:focus/伪元素,:empty恒不匹配;静默失效常见于浏览器不识别、attribute未正确设置或ShadowDOM跨边界;性能敏感场景需慎用,避免嵌套:has()和宽泛选择器。