-
JavaScript数学计算依赖静态Math对象,含常量、舍入、幂对数、三角函数、随机数等方法,所有操作均通过Math.xxx调用,不支持new实例化。
-
HTML5中实现横线分隔有五种方法:一、语义化<hr>标签;二、CSS边框属性;三、伪元素::before/::after;四、SVG矢量绘制;五、linear-gradient背景渐变模拟。
-
使用position:fixed可实现头部固定,通过设置top:0和width:100%使header始终位于视窗顶部,同时为main内容区添加等高margin-top避免被遮挡,结合z-index确保层级优先,适用于导航栏布局。
-
组件样式需独立加载,最直接方式是为每个组件配单独<link>标签,实现按需加载、作用域清晰、天然隔离及HTTP/2多路复用优势。
-
HTML5正式支持约20个rel值,但仅部分被主流浏览器实现:stylesheet(唯一触发CSS加载)、icon(需type和sizes)、preload(须配as)、prefetch(空闲低优先级)、preconnect(单域名)、dns-prefetch;noopener/noreferrer仅对target="_blank"有效;alternate/author/next等慎用;第三方服务要求的rel值需严格按规范配as、crossorigin等属性。
-
使用Flexbox布局结合伪元素实现导航栏下划线动画:1.用display:flex排列导航项;2.通过::after创建隐藏下划线,hover时width从0放大至100%;3.可选居中对齐或中间展开动画,关键在于定位与过渡控制。
-
max-width是响应式设计中防止元素过度拉伸的基础手段,支持px、%、ch等单位;常与width、margin搭配实现居中定宽,适用于图片自适应(max-width:100%;height:auto),但需慎用于Flex/Grid项以免干扰弹性布局。
-
Promise和async/await是同一底层逻辑的两种使用方式,选择取决于可读性与场景:Promise适合简单链式流程和并行请求,async/await更适合复杂逻辑、条件分支与调试。
-
使用:hover可显著提升按钮交互性,通过transition实现背景色渐变(如0.3s)、配合scale缩放与box-shadow阴影增强立体感,添加cursor:pointer明确可点击,避免过度动画,注意可访问性与移动端兼容性。
-
Symbol是JavaScript中唯一能创建“私有属性名”的原始类型,用于解决属性名冲突和模拟私有成员;每个Symbol()返回全新唯一值,故不能用==或===比较相等;需跨模块复用时应使用Symbol.for(key);Symbol键不可被for...in等枚举,但可通过Object.getOwnPropertySymbols()获取,本质是命名隔离而非访问控制;内置Symbol如Symbol.iterator、Symbol.toStringTag等影响语言底层行为,属运行时协议的一部分。
-
JavaScript通过getUserMedia采集音视频流,结合RTCPeerConnection实现WebRTC点对点通信,利用WebAudioAPI处理音频,通过RTCDataChannel传输任意数据,构建实时音视频应用。
-
position:relative父元素才能使absolute子元素以它为定位上下文;top/left相对于父元素内边距边缘;overflow:hidden会裁剪absolute子元素;z-index仅在同层叠上下文中生效。
-
grid-row-gap仅控制相邻行轨道间间距,不作用于容器首行顶边和末行底边;需配合padding或align-content实现上下视觉等距。
-
JavaScript操作浏览器标签页的核心是window.open()和window.close(),但受限于安全策略,仅能由用户交互触发且无法控制非脚本创建的标签页。通过window.open()可打开新标签页并获取其引用,结合URL参数、window.opener、localStorage、BroadcastChannel等实现同源页面间的数据传递与通信。需注意弹窗拦截、跨域限制、安全风险(如opener泄露)及用户体验问题。移动端window.open()的窗口特性支持有限。此外,浏览器扩展API提
-
修改Vue项目中的main.css后,Tailwind的类名(如rounded-full覆盖rounded-md、bg-transparent覆盖bg-white)突然失效,本质是CSS层叠顺序被破坏——Tailwind生成的规则顺序依赖于构建时的类名声明顺序,而非HTML中class的书写顺序。