-
@layer是CSS用于解决样式覆盖混乱的分层机制,通过声明命名层(如@layerbase、components)按顺序控制优先级,避免!important和权重战,同层内仍遵循常规层叠规则。
-
fetch在现代浏览器中基本无需polyfill,但需警惕IE及老旧WebView;credentials:'include'是获取登录态的必要配置;fetch不自动rejectHTTP错误状态码,需手动检查res.ok;Worker中可用fetch但无progress事件且绕过ServiceWorker。
-
网页自动刷新可用<metahttp-equiv="refresh">实现定时全页重载,但不适用于SPA;JavaScript的location.reload()更灵活可控,适合条件判断与状态管理。
-
:empty只匹配完全不含任何子节点(包括空白字符)的元素;HTML中换行缩进产生的不可见文本节点会使:empty失效,需用开发者工具检查DOM树中的#text节点,或用JavaScript通过textContent.trim()判断视觉空状态。
-
设div背景色最稳妥用background-color,但需注意层叠顺序、透明度干扰及background简写会重置颜色;背景图需组合background-image、size、position三属性,多背景用逗号分隔并严格对齐参数。
-
使用CSStransform:translate()配合@keyframes可实现流畅卡片滑动动画。通过translateX()实现水平滑入,如从右侧滑入视图;结合opacity用translateY()实现垂直滑下;同时使用X、Y轴位移实现斜向移动;设置关键帧百分比与steps()函数可创建无限轮播效果;利用GPU硬件加速提升性能,添加will-change优化渲染,避免重排重绘,确保动画高效流畅。
-
浏览器按顺序检查source的type属性是否被支持且实际可解码,首个两者均满足的被选用;type缺失或错误会导致跳过该source,即使文件存在。
-
String.prototype.slice()是纯函数式方法,不修改原字符串而返回新字符串,支持正负索引定位,结合indexOf()/lastIndexOf()可安全裁剪路径,且原始路径始终不变。
-
样式被划掉是因为specificity权重低于其他规则,需对比权重值(如0,1,1,0);CSS层叠还受来源顺序影响,后加载样式优先;提权应优先用精准选择器而非!important;继承属性不参与优先级计算,需在Computed面板确认是否真被应用。
-
Phaser适合2D游戏开发,Three.js用于3D视觉效果,Babylon.js支持完整3D游戏框架,PixiJS专注高性能2D渲染,根据项目类型选择引擎可降低开发成本。
-
JavaScript中不存在“PrototypeMasking”这一标准概念;真正私有需用闭包、Symbol(弱私有)或ES2022+的#私有字段,原型操作无法实现可靠私有性。
-
JavaScript中ifelse易错三点:一是误用赋值=代替比较==或===;二是忽略隐式转换导致0、''等假值误判;三是单行无花括号时ASI失效致逻辑错误。
-
JavaScript中extends的底层本质是通过静态修改子类prototype的[[Prototype]]指向父类prototype,并设置子类构造函数的[[Prototype]]指向父类构造函数,强制super()调用以初始化父类实例。
-
能,focus-within只能选中最近的可聚焦祖先元素,该祖先不能被tabindex="-1"或display:none等属性阻断焦点冒泡路径。
-
Array.prototype.splice()是同步就地操作,单次调用完成删除、插入、替换,形成“逻辑原子”更新,避免中间态暴露;但非真正原子,多处并发调用需外部协调,且框架中需注意响应式触发机制。