-
HTML页面缓存必须由服务端HTTP响应头(如Cache-Control、Expires)控制,meta标签无效;因浏览器不解析metahttp-equiv缓存指令,且缓存决策发生在HTML解析前,CDN与代理也忽略meta。
-
Grid卡顿主因是动态行为而非Grid本身:频繁重排、未优化的grid-template-rows计算、滚动中无节制生成轨道;应改用固定列数+虚拟滚动、禁用dense、避免动态grid-area、启用contain隔离渲染边界。
-
JSON本身不拖慢HTML美化工具,真正影响性能的是嵌入方式:type="text/javascript"导致JS解析错误、data-*属性含多行JSON引发解析卡顿、全局配置误对JSON块启用JS解析器。
-
优酷无法关闭HTML5,真正可行的管控路径只有启用青少年模式或通过路由器DNS拦截关键CDN域名;前者服务端降级HTML5能力,后者阻断资源加载。
-
本文介绍如何使用defer与shareReplay(1)组合,构建真正懒加载、单次执行、多订阅共享结果的RxJSObservable,避免初始化时提前触发昂贵计算。
-
CSS选择器权重按ID位、类位、标签位三级“位值”模型逐位比较,非十进制加法;ID位相同则比类位,类位高者胜,与标签数量无关;:not()、属性选择器等隐含类位,内联样式为(1,0,0,0);!important不改变权重,仅提升应用优先级。
-
box-sizing:border-box不能让margin不参与宽度计算,因margin始终不参与自身宽高计算;但能使padding被包含在width/height内,增加padding时内容区自动压缩以保持总宽不变。
-
HTML文件应放在项目根目录或public/子目录下,Netlify会自动识别index.html为入口;拖拽上传适合临时演示,Git连接支持自动部署与回滚;404常见原因包括相对路径错误、缺失index.html及域名未验证;简单站点无需netlify.toml,SPA路由、HTTPS强制和缓存需配置。
-
findLastIndex是Array原生方法,从末尾向前遍历返回首个满足条件元素的原始索引,Chrome97+、Firefox94+、Safari16.4+、Node.js18.12+支持。
-
答案:设计一个轻量级JavaScript状态管理库,通过单一状态树、不可变更新和响应式机制实现集中管理与跨组件通信。1.构建Store类封装状态、监听器及notify通知;2.引入reducer函数与dispatch模式规范状态变更;3.使用subscribe订阅实现视图自动更新;4.以计数器为例展示state变化驱动UI更新的流程;5.核心保持简洁,支持后续扩展中间件与模块化。
-
原生confirm不可靠:不支持样式定制、无法绑定框架状态、阻塞主线程、在iOSSafari/Electron/微前端中常失效,且违反WCAG焦点规范;应改用Promise封装的自定义弹窗并前置权限校验。
-
JIT优化不是“一劳永逸”因为其依赖的运行时推测信息可能失效,一旦假设被违反(如类型变化、类加载、虚方法目标变更等),必须执行去优化(deoptimization)回退到解释执行。
-
多个await执行顺序取决于Promise是否串行发起或相互依赖:串行await因结果依赖必须依次等待;并行await应先发起所有独立请求再用Promise.all统一await;混合模式则先串行获取基础数据,再并发拉取子资源。
-
用canvas手动画极坐标图最可控:需手动计算极坐标点、平移原点、绘制网格线;Chart.js雷达图易配错选项;D3.js推荐用d3-polar;CSStransform伪极坐标不可靠。
-
活动弹窗需兼顾可见性、无干扰、高并发,应优先用语义化<dialog>元素并兼容Safari;结构上遮罩与弹窗须为兄弟节点;防重复弹出需服务端控制+sessionStorage兜底;定位必用position:fixed。