-
Object.getPrototypeOf是ECMAScript规范推荐的原型链回溯方法,通过循环调用可安全获取完整原型链,避免使用已弃用的__proto__;它不被对象自身属性遮蔽,但不支持原始值和Proxy的trap拦截。
-
使用margin:auto可使固定宽度块级元素水平居中;2.text-align:center能对齐内联或行内块元素;3.Flexbox通过justify-content实现灵活居中,适合现代布局。
-
答案:推荐使用SVG作为背景水印,因其矢量特性可保证跨浏览器兼容性和响应式适应。通过CSS伪元素结合DataURI内联SVG,设置平铺、透明度和固定定位,实现清晰、可编程且性能友好的水印效果;在移动端利用相对单位(如vw)和媒体查询动态调整水印大小与密度,确保不同分辨率下均良好显示;相比静态图片背景,SVG方案避免失真、支持动态内容生成,并提升防篡改能力,是兼顾兼容性、灵活性与用户体验的优选方案。
-
最常见原因是缺<html>根标签或内容误写进<head>(不渲染),须确保:第一行是<!DOCTYPEhtml>,可见内容全在<body>内,文件存为UTF-8编码、.html后缀。
-
正确使用标签需注意路径、target属性、锚点及SPA适配:相对路径以当前文件为起点,绝对路径以/开头;新开标签页须加rel="noopenernoreferrer";锚点id需严格匹配且URL编码中文;SPA中优先用路由API。
-
CSS定位布局核心是理解position与文档流关系:relative原地微调不脱流,absolute脱离文档流认父定位,fixed锁定视口,sticky滚动时相对转固定。
-
用Proxy实现带撤销功能的数据状态机,核心是在set拦截中深拷贝当前state并存档快照、重置重做栈,配合currentIndex指针管理历史数组索引,支持undo/redo操作。
-
BigInt无法被JSON.stringify序列化会直接抛出TypeError错误,因JSON标准不支持该类型;解决需用replacer函数转字符串、提前过滤或改用structuredClone()等原生支持方案。
-
flex布局下表单换行需设flex-wrap:wrap,否则nowrap强制单行;宽度控制用flex-basis而非width;label与input对齐需align-items:center且label须参与flex流;小屏响应式应结合媒体查询重置flex-basis或改column。
-
使用document.activeElement监控焦点流向是优化复杂表单无障碍体验最轻量、最可靠的方式,它不依赖事件监听器、不受异步渲染干扰,能实时准确反映用户当前操作位置。
-
ShadowDOM的CSS变量是唯一被规范允许的安全主题通信机制,需显式挂载于宿主元素并用var(--name,fallback)读取,不继承:root或body中的声明。
-
loading="lazy"仅适用于明确不在首屏内、有固定宽高且处于正常文档流中的图片;首屏关键图、无尺寸属性、父级用transform/visibility:hidden、在iframe内或浏览器不支持时均会失效。
-
JavaScript类型转换分显式和隐式:显式由开发者调用Number()、String()、Boolean()等控制,隐式由引擎在==、+、!等操作中自动触发;应优先用===、显式转换和类型检查来规避bug。
-
直接用fill:currentColor即可实现SVG图标颜色随文本色变化,但需满足三个前提:SVG内联、无内联fill覆盖、fill作用于path等具体图形元素;color:red对SVG无效因其填充由fill控制,非color属性。
-
<kbd>必须拆开写、不能监听、默认样式不可靠——三点缺一不可。组合键需多个<kbd>标签外加分隔符,修饰键须独立包裹;须重置字体、内边距、圆角、背景色;其仅作语义展示,快捷键逻辑须JS手动实现。