-
定位元素的布局受父元素影响,关键在于包含块和已定位祖先。1.包含块由最近的已定位(relative、absolute、fixed、sticky)祖先决定,若无则相对根元素。2.父元素设为relative可作为子元素定位参考,不脱离文档流。3.absolute元素脱离文档流,相对于最近的非static定位祖先定位,偏移从内容区或border-box计算。4.fixed元素相对视口定位,通常不受父级影响;sticky元素依赖父容器滚动生效,需足够高度触发粘性。掌握这些机制可实现精准布局控制。
-
JavaScriptMap是允许任意类型键值对的内置对象,不强制转键为字符串、保留插入顺序、支持复杂键类型及动态增删操作。
-
模块联邦通过运行时动态共享代码,解决微前端重复打包与版本不一致问题。构建时配置exposes和remotes定义模块暴露与引用,Webpack5生成远程入口,主应用运行时import加载远程模块,浏览器自动请求chunk并执行。支持共享UI组件(如UserCard)、工具函数、状态管理实例(Reduxstore),并通过shared配置统一依赖版本,避免多份副本。各团队可独立开发部署,远程更新无需重新构建消费者,本地调试可用代理指向本地服务,适用于多团队协作场景,实现按需加载与动态组合。
-
外部CSS文件应使用<link>而非@import,因其避免串行加载、FOUC和解析阻塞;需按功能拆分、条件加载、哈希命名并合理设置缓存策略。
-
通过replacer和reviver函数可实现JSON的高级处理,如过滤敏感字段、序列化函数与循环引用、恢复Date类型及支持Map/Set结构。
-
XSS防护需结合输入处理、输出编码与上下文感知,通过多层防御体系阻断攻击。首先对用户输入按目标上下文进行HTML或JavaScript编码,插入HTML时优先使用textContent,动态渲染则转义特殊字符;在脚本中嵌入数据时采用JSON.stringify或专用转义函数防止代码注入。部署CSP作为最后一道防线,限制script-src为'self'及可信CDN,禁用'unsafe-inline'与'unsafe-eval',并结合nonce或hash机制授权合法脚本。针对富文本输入,使用DOMPuri
-
base标签通过定义基准URL统一管理HTML文档中的相对路径,简化资源引用并支持多环境部署,其href属性直接影响相对路径解析和SEO,需确保指向规范URL以避免爬虫解析错误和重复内容问题,使用时应结合中心化配置与自动化构建流程,防止路径混乱和兼容性风险。
-
JavaScript内存泄漏指本该回收的内存因意外引用无法释放,导致页面卡顿甚至崩溃;典型场景包括未清理事件监听器、未清除定时器、意外全局变量、DOM引用残留及闭包持有大对象。
-
从项目初期就应明确主渲染进程职责分离,主进程避免阻塞操作,通过contextBridge安全暴露API;多窗口场景下使用IPC通信并结合Redux等工具统一状态管理;优化启动速度需预加载主题、延迟加载模块、压缩资源;内存方面要监听窗口生命周期清理资源,定期监控堆内存,控制并发缓存,确保应用轻快稳定。
-
本文详解如何使用jQuery实现导航菜单的子菜单「单开模式」(即点击新项时自动收起已展开项),并支持点击菜单外部区域关闭所有子菜单,同时联动半透明背景层的显示/隐藏。
-
下拉框动画应设具体max-height值而非auto,配合transition:max-height0.25scubic-bezier(0.4,0,0.2,1)实现自然展开收起,收起时用max-height:0与overflow:hidden,并可叠加visibility优化体验。
-
闭包是函数与其定义时的词法环境共同构成的组合;它使函数能访问并保留对外层变量的引用,无论是否返回,只要存在自由变量引用即形成闭包。
-
表单验证不该全靠正则。正则适合格式校验,不适用业务逻辑判断;应先trim、再简单判断、最后正则兜底;需注意边界情况、分国家处理手机号、拆解密码强度检查;控制触发时机防卡顿;优先用原生校验API,后端必须二次校验。
-
HTML转其他格式需工具链处理:Chrome命令行导出PDF最稳定;html2text适合提取纯文本但丢结构;pandoc转Markdown/DOCX更可控,需配合sed修复和参考文档;转换本质是权衡舍弃内容。
-
:first-child不生效是因为它要求元素既是父元素第一个子元素又类型匹配,而前面的注释、空格等会破坏条件;:first-of-type更可靠,只关注同类型中首个出现的元素。