-
Flash被移除是浏览器集体淘汰私有插件,非HTML5不支持;其替代方案包括video/audio标签、Canvas+JS、WebAssembly等。
-
LLVMFunctionPass无法全自动安全剔除DeadCode,因其仅能识别最简单无用指令,无法判定动态调用、函数指针、反射、宏展开等场景;实际可行路径是标准优化+静态检测工具定位+人工确认删除。
-
直接引入第三方JS极危险,因其一旦被劫持或篡改,可窃取DOM数据、外发敏感信息、注入恶意脚本或绕过同源策略;必须叠加CSP(白名单防火墙)、SRI(哈希校验)和合理加载策略三重防护,缺一不可。
-
样式被划掉是因为specificity权重低于其他规则,需对比权重值(如0,1,1,0);CSS层叠还受来源顺序影响,后加载样式优先;提权应优先用精准选择器而非!important;继承属性不参与优先级计算,需在Computed面板确认是否真被应用。
-
满减活动页面必须用JavaScript实现,HTML仅负责结构展示;JS需监听输入、计算总价、匹配满减规则、实时更新DOM,并处理移动端节流、精度、交互体验等细节。
-
必须在HTML的<head>中第一行写<metacharset="UTF-8">,且文件保存编码必须与之严格一致,否则会导致中文乱码;该标签需自闭合、带引号、用标准名称,不可依赖HTTP头覆盖。
-
计算属性比普通方法更高效,因其具备响应式缓存机制——依赖数据未变时直接返回缓存结果,而methods每次调用都重新执行;computed适用于依赖响应式数据的同步派生计算,methods适用于需传参、含副作用或必须每次都执行的场景。
-
用::before给段落加装饰线需三要素:content非空、父元素设position:relative、伪元素设display:block;常用写法为p{position:relative}与p::before{content:"";display:block;width:60px;height:2px;background:#333;margin-bottom:0.5em}。
-
pagehide是移动端唯一可靠的退出埋点入口,需结合event.persisted===false和visibilityState==='hidden'判断真卸载,并用sendBeacon发送数据,同时监听freeze事件防漏报。
-
放在底部能避免DOM操作失败,因为浏览器自上而下解析HTML,脚本执行时确保所有DOM节点已构建完毕,可安全访问元素;若脚本提前执行,则document.getElementById等返回null。
-
sendBeacon在页面卸载时看似可靠实则常失败,因其仅保证尝试发送而非送达,受主线程终止、浏览器后台时限(≤500ms)、跨域限制、请求体格式(需Blob等非字符串)及用户行为影响,需配合visibilitychange/beforeunload、sessionStorage标记与服务端幂等设计提升落地率。
-
CSS优先级由选择器权重(a,b,c,d)决定,逐位比较不加总;!important仅提升单条声明优先级,不改变选择器权重。
-
height:100%在fixed元素上失效是因为其相对于初始包含块计算且受父容器和定位上下文干扰;应改用top:0+bottom:0填满视口,并设置overflow-y:auto确保滚动。
-
StyledComponents控制状态的核心是将样式逻辑内聚于组件,通过props传递状态(如布尔值、枚举、主题),在模板字符串中用箭头函数映射样式;结合useState/useReducer实现交互响应;避免副作用,拆分状态容器与样式组件,推荐用attrs()预设属性、工具函数或自定义Hook封装复杂逻辑。
-
JavaScript继承本质是原型链构建,class只是语法糖;prototype+constructor+new、借用构造函数、ES6extends均围绕[[Prototype]]链展开,核心在于属性访问路径与constructor修复。