-
vw/vh是视口单位,1vw=视口宽1%、1vh=视口高1%,不依赖父元素或字体大小;而%依赖父容器宽度,em依赖父元素font-size。
-
transition必须写在非hover的基础样式中才能生效,因为它需同时控制进入和离开的过渡;支持过渡的属性有限,transform和opacity最安全高效。
-
JavaScript安全编程关键在于识别执行上下文、控制数据流向、阻断不可信输入自动求值;需避免innerHTML拼接、慎用eval/JSON.parse、正确配置CSP、防范原型污染,并从首行异步请求起贯彻可信数据假设。
-
overflow:hidden裁剪溢出内容并禁用滚动,非仅隐藏滚动条;可用于图片圆角裁切,但会触发BFC、影响动画性能及焦点管理,需配合其他属性保障可访问性。
-
主轴方向由flex-direction决定,必须配合display:flex使用;row(水平向右)、row-reverse(水平向右但顺序反转)、column(垂直向下)、column-reverse(垂直向下但顺序反转);justify-content仅在已定主轴上分配空间,不改变方向。
-
JavaScript无内置物理引擎,常见第三方库有:①Matter.js(轻量2D);②Planck.js(高精度Box2D移植);③Cannon.js/es(3D刚体);④Ammo.js(功能全的Bullet移植)。
-
Promise是异步操作的抽象,async/await是其语法糖;所有async函数返回Promise,await必须在async函数内使用,错误需用try/catch捕获,且不能脱离Promise单独存在。
-
Flex布局空白过多主因是子元素未占满容器空间或flex属性设置不当,需合理配置flex-grow、flex-shrink、flex-basis,并确保父容器有明确尺寸,优先使用gap替代margin。
-
实现HTML一键复制的核心机制是使用JavaScript操作剪贴板,现代推荐方法为navigator.clipboard.writeText(),兼容性方案则使用document.execCommand('copy');2.navigator.clipboard.writeText()基于Promise、异步执行、更安全且符合现代标准,但需在HTTPS环境下由用户手势触发;3.document.execCommand('copy')虽兼容老旧浏览器,但已被废弃,需创建临时元素并选中内容,操作复杂且存在安全
-
performance.now()更准因其基于页面加载起点的单调递增高精度时间戳(微秒级),不受系统时钟调整影响,适合性能测量;而Date.now()依赖易变的系统时钟。
-
JSON是轻量级文本交换格式,非JavaScript对象或类,仅含parse()和stringify()两个静态方法;parse()严格校验标准JSON语法,stringify()忽略函数/undefined/Symbol/循环引用,且fetch的.json()不可重复调用。
-
环境变量通过外部注入实现配置分离,提升安全性与可维护性;结合共享配置库和CI/CD自动化,可统一多项目配置,避免重复与不一致,实现高效治理。
-
应使用window.getSelection()与Range对象手动构建全选,因document.execCommand("selectAll")已废弃;需创建Range、selectNodeContents目标元素、清空并添加选区;支持限定范围、Ctrl+A快捷键及user-select禁用时的样式临时调整。
-
本文详解如何通过ES6Proxy创建一个能被for...of正确遍历的“自引用可迭代数组”,核心在于拦截Symbol.iterator等Symbol属性,确保代理对象满足迭代协议。
-
通过设置transition属性可同时为opacity和transform添加过渡效果,推荐明确列出属性以确保性能与可控性;2.初始状态应使用如translateX(0)或scale(1)等可计算值,避免从none开始导致过渡失效;3.可借助transition-delay实现错峰动画,增强视觉层次;4.虽可用all简化定义,但易引发意外动画,建议仅在简单场景使用。合理配置可实现自然平滑的交互动效。