-
Object.defineProperties可一次性定义多个属性并配置getter等描述符;需传入属性名到描述符对象的映射,描述符中含get函数则自动设value为undefined且writable为false。
-
AppCache已被所有主流浏览器废弃,唯一可行的离线方案是ServiceWorker+CacheAPI;因其存在更新不可控、全站故障、不支持请求拦截等根本缺陷,W3C于2018年将其标记为obsolete。
-
HTML中无标准方式定义文档更新频率,meta标签如revisit-after和expires均非标准且被主流搜索引擎忽略;实际影响抓取的是Last-Modified、ETag响应头及sitemap中的lastmod字段。
-
fr是剩余空间的份数,先扣除固定尺寸再按比例分配;与固定单位并存时后者优先占位;需配合minmax()、媒体查询等实现响应式和兼容性。
-
答案:编写JavaScript库应优先使用功能检测而非user-agent判断环境,通过检查全局对象属性(如'fetch'inwindow)、验证API行为完整性、结合降级方案与模块兼容处理,确保代码在多环境中可靠运行。
-
能做,但外层必须设position:relative且有明确宽高(如width:300px或100%且父级有宽),否则内层absolute的width百分比无效;推荐width+background-color方案,兼顾兼容性与性能。
-
performance.getEntries()无法识别长任务,因其默认不返回longtask类型条目;必须调用performance.getEntriesByType('longtask')才能获取已发生的长任务记录,因长任务仅在主线程阻塞超50ms后延迟生成且需按类型主动查询。
-
应先检查document.getElementById返回值是否为null再操作,因未检查时调用.innerHTML或.addEventListener会抛TypeError;ID区分大小写且须唯一。
-
新版Chrome/Edge限制file://协议跨文件加载,需用HTTP服务(如LiveServer)运行;音视频问题需启用硬件加速及解码器;Canvas/WebGL异常应检查GPU加速与扩展冲突;fetch等API需安全上下文,建议本地开发使用localhost。
-
用单个隐藏<audio>实例配合JS动态切换src实现轻量音乐列表,列表项绑定data-src属性,点击时暂停当前、更新源并播放,注意iOS用户手势触发、Promise错误捕获及跨域配置。
-
fetch在现代浏览器中基本无需polyfill,但需警惕IE及老旧WebView;credentials:'include'是获取登录态的必要配置;fetch不自动rejectHTTP错误状态码,需手动检查res.ok;Worker中可用fetch但无progress事件且绕过ServiceWorker。
-
Proxy本身不记录历史或保存状态快照,仅拦截操作,因此无法直接支持撤销;必须额外维护操作历史栈并配合路径追踪、深度比较与安全还原逻辑。
-
align-items:stretch没起作用是因为父容器缺少明确的交叉轴尺寸(如height/min-height),或子元素设置了height、min-height、align-self等限制;flex-direction:column时它控制宽度而非高度。
-
forced-colors是CSS媒体查询,检测系统是否已强制重绘页面颜色;而prefers-contrast仅表示用户偏好信号。前者反映实际生效状态,后者仅为意向,二者不可混用,应分别用于兜底强化与渐进增强。
-
BEM修饰符是DOM与CSS间的契约,需JS真实更新class、CSS严格按约定书写、DevTools验证;状态混乱主因是JS未更新DOM或CSS选择器错误,而非BEM失效。