-
HTML5离线缓存(AppCache)已废弃,删除需三步:移除HTML中manifest属性、服务器停止响应.manifest请求、开发者工具中清除ApplicationCache;若用ServiceWorker则需调用cache.delete()等API。
-
URLSearchParams是JavaScript原生接口,用于安全解析和构造URL查询参数;适用于读取地址栏参数、拼接带参链接或动态更新搜索条件等场景。
-
固定宽高弹窗居中推荐用transform:translate(-50%,-50%),需配合top:50%、left:50%和定位上下文;margin负值仅适用于已知确切像素宽高的场景,易受动态内容、滚动条、box-sizing等影响,且不兼容IE8以下。
-
:nth-last-child(2)选中所有同级子元素中倒数第二个且类型完全匹配的元素,因受空白文本节点、注释、混杂标签等DOM结构影响常失效;:nth-last-of-type(2)仅按同类型元素倒数计数,更稳定。
-
HTML多选仅提供选择入口,批量操作需JS驱动并对接后端;关键在于稳定获取选中项唯一标识,注意动态渲染时机、空数组校验、数据格式匹配、防重提交及用户反馈。
-
本文介绍如何在Ace编辑器的Vim模式下,精准拦截并重写dd、d{motion}(如dG、d2d)等所有基于d操作符的行删除行为,使其调用自定义函数而非默认逻辑。
-
答案:JavaScript中遍历对象常用方法包括for...in、Object.keys()、Object.values()、Object.entries()、Object.getOwnPropertyNames()和Reflect.ownKeys(),每种方法适用不同场景。
-
JavaScript对象是键值对集合,键为字符串或Symbol,值任意;点号仅支持合法标识符静态键名,方括号支持动态、特殊字符、Symbol及数字键;安全读取嵌套属性用可选链(?.)或逻辑与判断;动态增删属性须用方括号,delete有不可配置属性陷阱,不可用赋undefined代替删除。
-
TV浏览器视频卡顿主因是解码能力、资源加载策略与系统限制叠加,非video标签错误;需moov前置、服务端支持Range、禁用autoplay、手动触发play()并真机调试。
-
本文介绍如何使用awaitimport()语法在单行中解构导入同一模块的多个命名导出函数,避免重复调用import(),提升代码简洁性与执行效率。
-
ES6模块是静态解析的,import/export必须在顶层作用域,支持Tree-shaking;CommonJS是运行时执行,require可动态加载但不支持Tree-shaking;两者默认导出机制不同,互操作需注意default包装;Node.js中需通过文件后缀或type字段区分模块类型。
-
首先使用ChromeDevTools的Memory面板记录内存分配时间线,观察曲线是否持续上升以判断内存泄漏;接着在操作前后捕获堆快照并对比差异,重点查看新增对象和DetachedDOMtrees;然后通过Retainingtree分析阻止回收的引用链,结合Dominators视图识别大对象占用;最后利用调用堆栈定位到具体代码,检查事件监听、定时器、闭包等常见问题点。
-
box-sizing:border-box解决宽度计算不直观问题:width包含padding和border,避免嵌套时手动减算;需用*{box-sizing:border-box}全局重置,但要注意表单元素、CSS重置和第三方组件兼容性。
-
使用position:absolute和z-index可实现按钮提示框,首先设置父按钮为relative定位,提示框为absolute定位并用top、left和transform调整位置,通过:hover触发opacity显示,同时设置z-index确保层级优先,避免被其他元素遮挡,配合transition实现淡入效果,并可通过::after伪元素添加指向箭头,提升视觉引导。
-
colspan和rowspan用于逻辑占位而非视觉拉伸:colspan="n"使单元格占据当前行n列,后续列需跳过;rowspan="m"使其跨m行,下方m-1行对应列须留空,否则结构错乱。