前端技术文章
-
内联缓存(IC)是V8自动启用的优化机制,其效率取决于对象结构稳定性和访问模式一致性;通过预热典型对象、固定属性顺序、避免动态修改和禁用with/eval/Proxy等陷阱,可使IC快速进入高效单态;用--trace-ic和%DebugPrint可验证状态。321 收藏 -
MarginCollapse是CSS规范规定的垂直外边距合并行为,相邻块级元素的上下margin取较大值而非相加;display:flow-root是安全触发BFC阻止重叠的首选方案。210 收藏 -
overflow:hidden能解决高度塌陷,因为它触发BFC使父容器重新包裹浮动子元素;其他方法包括伪元素清除法、display:flow-root及额外空标签法,但需注意hidden可能裁剪溢出内容。172 收藏 -
FIMO生成的HTML报告默认不包含版本号,需通过终端输出、日志记录或后处理注入;官方未嵌入是因侧重参数复现而非报告溯源。472 收藏 -
根本原因是iOSSafari和部分安卓WebView默认监听touchstart触发原生上下文菜单;-webkit-touch-callout:none是唯一直接禁用CSS属性但仅iOS有效,安卓需contextmenu事件拦截+onmousedown处理。225 收藏 -
JavaScript中无法通过属性可配置性判断是否处于微任务中,因configurable是对象属性元信息,与微任务执行态无关;微任务无运行时标识,需用async_hooks、DevTools异步栈等工具追踪。488 收藏 -
JavaScript引擎不对reduce做循环展开优化,因其是封装在引擎内部的原生高阶函数调用;性能关键在于回调内联性、数组结构、类型稳定性及必要时改用for循环。322 收藏 -
Promise内嵌setTimeout易致时序混乱,因混用宏任务与微任务;应统一用Promise封装定时器(如delay函数)或async/await保持链路一致性,并在必要时用queueMicrotask显式调度。126 收藏 -
padding-left没生效主因是盒模型干扰:display未设、float/absolute脱离文档流,或父容器overflow:hidden未触发BFC;需检查display类型、清除浮动、加overflow:hidden或display:flow-root触发BFC。283 收藏 -
SockJS通过协议协商自动选传输方式:先请求/info获取服务端支持的transports列表,再按优先级依次尝试WebSocket、XHR流、XHR轮询等,全程对业务透明,且自带会话管理、消息确认与自动重连机制。352 收藏 -
document.cookie读写需严格遵循字符串格式与元信息规则:读取时需处理分隔符、解码及空格;写入须声明完整属性;删除靠伪造过期;HttpOnlycookie无法被JS访问。374 收藏 -
闭包本身不直接实现数据脱敏,但能天然支撑多级逻辑过滤的封装与复用,适合在数据分发前按业务维度逐层应用脱敏规则;通过将手机号掩码、身份证保段、邮箱隐藏等逻辑封装为独立闭包,并组合成可配置、可复用、带上下文记忆的过滤流水线,实现松耦合、高内聚的多维度脱敏。169 收藏 -
HTML5不提供数据加密能力,加密必须由服务端完成;前端可配合密钥管理与解密,但密钥不得硬编码,须通过HTTPS安全信道动态获取,并依托WebCryptoAPI安全解密,HTTPS是所有加密落地的基础保障。266 收藏 -
根本原因是父容器未创建层叠上下文,需为.accordion-item等父元素设position:relative并合理设置z-index顺序,或用data-container="body"将下拉挂载到body下。488 收藏 -
JavaScript操作XML分解析与生成两部分:浏览器用DOMParser和XMLSerializer,Node.js需xml2js等第三方库;解析时注意MIME类型、错误检测及大小写敏感性,生成时需手动美化格式。282 收藏