-
Firefox默认禁用shape-margin和url()形状解析,需手动开启about:config中layout.css.shape-outside.enabled与layout.css.shape-margin.enabled两项实验标志才能启用完整支持。
-
API是约定的通信规则;JavaScript用fetch或XMLHttpRequest调用WebAPI;fetch更现代简洁,需手动处理cookie、JSON解析、HTTP错误及URL参数,POST传JSON须设Content-Type并序列化body。
-
Object.assign的同名属性覆盖是按参数顺序的赋值规则:后参数同名属性覆盖前参数,null/undefined被跳过但不改变顺序,原始值转包装对象后无属性可拷贝,嵌套对象整体替换而非深度合并。
-
Proxy无法代理原始值,因其target必须为对象;尝试newProxy(42,handler)会抛TypeError;Vue3用ref将原始值封装为{value}对象再代理,以支持响应式。
-
JavaScript是运行于多宿主环境的动态弱类型原型语言,核心机制包括执行上下文与调用栈、TDZ、事件循环、this绑定规则及原型链查找逻辑。
-
border-width必须带单位或关键字,border-style是边框显示前提且不可省略,简写border需严格按width/style/color顺序,工具类应封装完整边框而非拆分属性。
-
ShadowDOM的closed模式不提供强主权保护,仅使shadowRoot返回null;真正沙箱需iframe、StrictCSP和ShadowDOM协同,推荐open模式配合显式契约与三层防线。
-
ServiceWorker通过预缓存关键资源、fetch阶段Cache-First策略、导航预加载及Stale-While-Revalidate机制,实现首页秒开:安装时预存HTML/CSS/JS/图标;fetch时优先返回缓存;预加载兜底;HTML缓存同时后台更新。
-
字符串可借用数组的非破坏性方法(如map、filter、reduce、slice、join),因其具备长度和索引访问特性;需用call/apply绑定this,或用扩展运算符、Array.from等ES6+方式转为数组再操作。
-
写屏障解决年轻代GC漏标老年代指向年轻代引用的问题,通过在老→年写操作时标记对应卡表为脏,配合记忆集实现高效跨代引用追踪。
-
fr是剩余空间的份数,先扣除固定尺寸再按比例分配;与固定单位并存时后者优先占位;需配合minmax()、媒体查询等实现响应式和兼容性。
-
DOM是浏览器接口而非JavaScript内置部分,根节点为document(nodeType=9),非html;childNodes含所有节点类型,children仅含元素节点;getElementById快但ID易重复,querySelector更安全灵活;innerHTML会重建DOM并丢失事件,textContent仅改文本且防XSS。
-
最可靠方案是将404.html放根目录并配置服务器返回真实404状态码;Apache用ErrorDocument,Nginx用error_page,Vercel/Netlify自动识别但需命名规范,GitHubPages仅支持根目录404.html且Jekyll需禁用渲染;页面中禁用跳转、确保标题含“404”、提供首页和上一页导航、避免无效链接;本地双击无效,须HTTP环境测试,且页面资源路径必须有效。
-
X-UA-Compatible仅用于IE存量系统维护,必须置于<head>最开头(无任何前置内容),否则IE直接忽略;推荐值为IE=edge,优先使用HTTPHeader方式发送。
-
console.log是轻量调试工具,需用标签、分组、对象包裹提升可读性;console.table适合结构化数据对比;console.trace和console.time分别用于追踪调用栈和性能计时;注意日志非原子性,需快照避免引用误读。