-
优先用document.execCommand('fontName',false,'MicrosoftYaHei')控制字体,需确保选区有效、字体名完整准确,Firefox已禁用该命令须降级处理,框架中避免v-model绑定contenteditable并手动同步状态。
-
dfn元素用于标记术语首次被定义的位置,必须包裹被定义的术语本身,并与定义性描述邻近或显式关联;它不提供视觉样式,但影响无障碍、SEO和知识图谱提取。
-
viewport单位在Safari失效主因是缺失或重复metaviewport标签;iOS15+“请求桌面网站”影响vh;max-device-width已弃用,应改用max-width;Safari15.4前不支持clamp()中使用vh;逻辑属性在旧Edge中与prefers-reduced-motion配合失效。
-
HMR通过替换修改的模块实现局部更新,保留应用状态。其依赖Webpack的module.hot.accept机制,在React中使用ReactRefresh、Vue中通过vue-loader集成,相比LiveReload避免了页面刷新,提升了开发效率。
-
必须在beforeUnmount中清理定时器,因为定时器是独立运行的异步副作用,组件卸载后其回调仍可能触发,导致访问已销毁组件的响应式数据而报错;应使用ref存储timerID并在beforeUnmount中清除。
-
V8引擎通过分代内存管理提升性能,新生代用Scavenge算法快速回收短生命周期对象,老生代结合Mark-Sweep与Mark-Compact减少碎片,并采用增量标记降低停顿,开发者应避免内存泄漏以优化运行效率。
-
reduce是JavaScript数组将元素累积为单一值的方法,通过callback(含累计值acc和当前项cur)和可选initialValue实现;常用于聚合计算、结构转换、分组等,需注意初始值类型匹配与必返值。
-
支持transition的CSS属性需满足可计算、可插值,如opacity、transform、color、width(带单位)、background-color;display、height(auto)、font-family等不可插值属性无效。
-
字体在某些浏览器不显示是因为仅提供单一格式(如仅.woff2),旧版浏览器(IE9–11、老版Safari等)不支持;应通过@font-face按“从新到旧”顺序声明.woff2、.woff、.eot/.ttf等多种格式以确保兼容。
-
metaname="author"标签不影响SEO排名,仅作人工可读的归属说明;适用于内部文档、静态博客、协作溯源等场景,content宜用邮箱/GitHubID,多人用逗号分隔且≤256字符,需与generator、copyright语义区分并及时更新。
-
根本原因是html和body默认有margin且height不足,必须设height:100%和margin:0,并确保viewport正确设置,否则background-size:cover无法实现全屏铺满。
-
table-layout控制列宽计算方式:auto模式需等内容加载完测量,导致卡顿;fixed模式快且可强制截断,但需显式设宽;border-collapse:collapse合并边框,禁用border-spacing;text-align与vertical-align分别控制水平与垂直对齐;display:table-cell用于等高、垂直居中等布局场景。
-
JavaScript无原生管道操作符(|>),但可通过函数组合实现管道式数据处理:pipe(str,f1,f2,f3)顺序执行函数,提升可读性与可维护性;ECMAScript提案已暂停,推荐Ramda、lodash/fp或手写pipe。
-
DataView是JavaScript中操作二进制数据的核心工具,它基于ArrayBuffer提供灵活的字节级读写能力,支持多种数据类型和字节序控制,尤其适用于解析混合类型的复杂二进制协议。与仅支持单一类型的TypedArray不同,DataView允许在同一个缓冲区中按指定偏移量读写不同类型的值(如int16、float32等),并通过littleEndian参数精确处理大小端问题,确保跨平台数据解析的正确性。两者共享底层ArrayBuffer,可协同使用,TypedArray适合高性能同构数据处理,而
-
CommonJS模块在Node.js中同步加载,即阻塞式文件读取与立即执行,虽提升调试直观性但导致冷启动慢、缓存失效风险及循环依赖隐患;可通过延迟加载、合并小模块、预加载等优化规避瓶颈。