-
Promise是ES6引入的异步编程标准对象,用于解决回调地狱、错误处理分散及缺乏统一控制等问题;它表示异步操作的三种状态(pending/fulfilled/rejected),通过newPromise()创建,支持.then()/.catch()链式调用与Promise.all/race/finally等组合方法。
-
禁用表单元素或提交需使用disabled属性,可作用于单个控件或fieldset容器,阻止用户交互与数据提交,且不可对form直接使用;通过JavaScript可动态控制禁用状态,常用于表单验证,结合CSS可自定义样式,区别于readonly,disabled完全禁止交互且不发送值。
-
答案:通过CSS的min-width结合table-layout:fixed可有效控制HTML表格单元格最小宽度。为td/th设置min-width能防止单元格过窄,配合table-layout:fixed提升列宽控制力,再利用类名或选择器为不同列设定特定最小宽度,实现灵活布局。
-
border-collapse用于合并表格边框,collapse值可消除双线间距,separate为默认分离模式;border-spacing在separate模式下设置单元格间距,常配合padding和统一border样式优化表格视觉效果。
-
FileAPI是文件上传的基础,需配合XMLHttpRequest或Fetch使用;通过input[type="file"]获取File对象,校验大小与类型后,用FormData构造请求并发送,支持进度监听与错误处理。
-
直接改<select>的background经常失效,因为浏览器(尤其Chrome、Safari)强制用系统渲染下拉控件,忽略background等样式;需同时设-webkit-appearance:none和-moz-appearance:none才能生效。
-
能,但仅移除项目符号,不消除默认的margin和padding;需额外设置margin:0;padding:0;才彻底清除缩进与空白。
-
Canvas骨骼动画靠自行实现骨骼变换、顶点混合与插值逻辑,主流用requestAnimationFrame驱动+矩阵运算更新transform,配合save/restore或手动顶点计算绘制;SVG无原生骨骼支持,仅能通过<g>嵌套和JS/CSS驱动transform模拟简单层级,无法实现蒙皮、权重混合与IK。
-
position:static是默认值,元素按文档流排布且top/right/bottom/left/z-index无效;relative相对自身定位但不脱离文档流;absolute脱离文档流并相对于最近已定位祖先定位;fixed相对于视口固定;sticky在阈值内relative、超出后fixed。
-
支持,但需起始和结束状态均显式声明确定的颜色值(如HEX/RGB/HSL),避免transparent、inherit或简写background覆盖导致插值失败;transition须写在初始状态规则中,时长200–400ms,推荐cubic-bezier(0.25,0.46,0.45,0.94)。
-
ChromeDevTools里怎么精准模拟iPhone14的viewport直接用设备预设不等于真实效果,iPhone14在DevTools的设备列表里对应的是393×852像素(逻辑像素),但关键在devicePixelRatio必须设为3,否则媒体查询里的min-resolution:3dppx或min--webkit-device-pixel-ratio:3就不会触发。实操建议:打开DevTools→Toggledevicetoolbar
-
Vite适合新应用开发,Webpack适用于深度定制和遗留系统,Rollup专精于库打包;三者底层依赖AST分析但抽象层级不同,选错会拖慢迭代。
-
引入CSS到HTML主要有三种方式,最推荐的是外部样式表,其次是内联样式在特定场景下使用;2.外部样式表通过<link>标签引入独立的.css文件,实现结构与样式的分离,便于维护、复用和缓存,适用于大多数项目;3.内联样式通过在HTML元素的style属性中直接写CSS规则,优先级最高且即时生效,适合快速调试、JavaScript动态修改、邮件模板或特殊覆盖需求;4.内联样式的优点包括优先级高、便于JS操作和即时反馈,缺点是可维护性差、无复用性、代码冗余、破坏分离原则且无法被浏览器缓存;5.外
-
WebWorkers是浏览器提供的后台线程API,用于执行CPU密集型任务而不阻塞主线程;其运行于隔离环境,无DOM访问权限,仅通过message机制与主线程通信,支持结构化克隆或Transferable零拷贝传输。
-
FinalizationRegistry用于在对象被垃圾回收时执行清理操作,典型场景包括管理C++插件分配的内存或文件句柄等非JavaScript资源,通过register注册目标对象及清理回调,利用unregisterToken可主动取消注册,避免资源泄漏。