-
JavaScript复制粘贴需用navigator.clipboardAPI,须在用户手势触发的HTTPS安全上下文中调用,读取非文本内容需权限检查,低版本浏览器需降级兼容。
-
Proxy是JavaScript中用于拦截和自定义对象基本操作的构造器,通过newProxy(target,handler)创建代理对象,支持get、set、has、ownKeys、apply等trap拦截读取、赋值、in判断、枚举和函数调用等行为,比Object.defineProperty更强大通用。
-
用::before插入小图标需设content(如""、Unicode或url)和display(推荐inline-block),字体图标要确保@font-face引入、font-family指定及Unicode转义正确(如\e901),SVG推荐用background-image替代content:url()以避免尺寸失控,IE8需用:before单冒号并处理z-index。
-
通过合理设置缓存策略与版本控制,可兼顾性能与样式更新:首先配置HTTP缓存头,对静态CSS启用强缓存(如Cache-Control:max-age=31536000),结合ETag实现协商缓存;其次采用文件名版本管理,推荐使用内容哈希命名(如style.a1b2c3d.css)或构建工具自动生成带哈希文件,确保更新后URL变化;避免依赖查询参数(如?v=1.2.3)以防代理缓存失效;最后在HTML中通过服务端渲染或manifest.json动态引入最新CSS路径,由发布流程统一管理文件名变更,保障用户获取
-
浮动导致父容器高度塌陷,使背景图视觉错位;需用clearfix清除浮动、设background-origin为content-box或padding-box并配box-sizing:border-box。
-
需满足五项条件:一、用现代浏览器以.html/.htm扩展名打开;二、避免file://协议限制,建议本地服务器运行;三、声明UTF-8编码且保存为无BOM格式;四、确保HTML结构合法、含DOCTYPE声明、路径正确;五、启用JavaScript并排查控制台错误。
-
JavaScript内存泄漏指本该回收的内存未被GC释放,导致堆内存持续增长、页面卡顿甚至崩溃;常见原因包括意外全局变量、未清理事件监听器、未清除定时器、闭包持有大对象及DOM僵尸引用,需通过ChromeMemory面板检测并结合严格编码习惯预防。
-
直接给li设置:hover即可实现仅高亮当前项,无需父元素干预或JavaScript;关键是要确保li有明确背景、完整点击区域、足够样式优先级,并可添加transition实现平滑效果。
-
HTML5customElements.define()注册自定义元素须继承HTMLElement、名称含短横线;HTML4不支持自定义标签语义,仅作未知元素处理;主流浏览器兼容但有细节差异;相比div+class,customelement提供语义化、封装性与原生生命周期。
-
ArrayBuffer是内存中固定长度的原始字节缓冲区,需配合Uint8Array或DataView等视图操作;Blob是面向I/O的不可变二进制载体,用于文件、网络等场景,需通过arrayBuffer()或FileReader转换才能读取内容。
-
使用:nth-child设置奇偶行不同背景色,结合border-bottom和hover效果,可创建美观专业的表格样式。
-
可通过CSS的background-image属性设置HTML页面背景图,包括内联样式、内部样式表、外部CSS文件三种引入方式,并支持定位、裁剪、响应式适配等精细化控制。
-
empty()清空内容保留元素,remove()彻底删除元素及事件;根据是否需保留父元素选择方法。
-
JavaScript迭代器协议要求对象有next()方法,返回{value,done}对象;next()可多次调用、不传参(生成器除外)、不幂等;状态须封装在实例内;可迭代对象需实现[Symbol.iterator]。
-
Flex换行后最后一行间距不均,因gap只作用于相邻项;解决方法包括:①用justify-content:flex-start或center配合gap;②伪元素补位法;③改用Grid布局;④检查flex-basis和min-width防错位。