-
现代浏览器中仅WebKit/Blink内核(Chrome/Edge/Safari)支持::-webkit-scrollbar系列伪元素定制滚动条,需同时定义::-webkit-scrollbar、::-webkit-scrollbar-track、::-webkit-scrollbar-thumb三者,缺一不可;Firefox不支持该方案。
-
tr:nth-child(even)背景不生效主因是DOM结构干扰或优先级覆盖,应改用tr:nth-of-type(even)并检查thead/tbody影响、动态渲染及无障碍对比度。
-
Promise是一个代表异步操作最终完成或失败的状态容器,初始为pending,后不可逆地变为fulfilled或rejected,需用.then()/.catch()响应;它非语法糖也非同步工具,newPromise仅声明异步逻辑,执行依赖executor中的resolve/reject;链式调用中每个.then()返回新Promise,错误需显式捕获,async/await是其语法糖,本质仍基于微任务队列的状态流转。
-
rel="prefetch"仅在浏览器空闲且低优先级带宽可用时触发,适用于同源可预测后续页面的文档等可缓存资源,需指定as属性和正确路径,Chrome/Edge支持较好而Safari更保守。
-
Object.hasOwn更安全精确检查对象自身属性,避免in操作符检查原型链的问题。1.in操作符会检查对象自身及原型链上的属性,可能导致意外结果;2.传统用法使用Object.prototype.hasOwnProperty.call避免原型链干扰,但写法冗长且存在被覆盖风险;3.Object.hasOwn是静态方法,直接挂载于Object,语法简洁且更安全;4.在遍历对象属性时,若仅需处理自身属性,应配合Object.hasOwn过滤继承属性;5.Object.hasOwn不会受对象自身hasOwn
-
通过opacity和transform结合transition实现弹窗动效,1.结构上使用modal容器包含内容框;2.初始隐藏并设置透明度、缩放及过渡;3.添加active类触发动画,改变透明度、可见性和缩放;4.JS通过类名切换控制显示隐藏,配合visibility和pointer-events避免误交互。
-
animation-direction取值为normal、reverse、alternate、alternate-reverse,分别控制动画每轮的播放方向逻辑;设reverse无变化常因关键帧定义未适配倒播顺序。
-
样式渲染错乱主因是作用域失控,应通过语义化容器类、子选择器、BEM命名及:where()降权来精准控制样式边界,避免权重冲突与意外覆盖。
-
Vue中VNode核心类型有五种:文本节点、注释节点、元素节点、组件节点、函数式组件节点;文本节点仅含text属性,挂载时创建Text节点,更新时仅修改nodeValue;注释节点isComment为true,挂载和更新均只操作nodeValue且跳过diff;组件节点封装实例与上下文,挂载时创建实例并递归patch子树,更新时复用或重建实例。
-
单例模式在JavaScript中靠开发者主动控制实现,常用闭包+IIFE封装私有实例或ES6class+静态属性实现,需禁用直接new、注意跨环境污染及避免滥用为全局状态。
-
首选navigator.clipboardAPI,因其异步、安全且符合现代标准;旧浏览器可回退至document.execCommand并配合临时DOM模拟操作。
-
pattern属性在type="number"上完全无效,浏览器会忽略它;仅对type="text"等文本类类型生效,数值校验应使用min/max/step或JS补充。
-
在ES6中,检查字符串是否以另一字符串结尾应使用String.prototype.endsWith()方法。该方法通过str.endsWith(searchString[,length])语法判断字符串结尾是否匹配searchString,返回true或false;可选参数length用于限定检查的字符串长度,默认为原字符串全长;例如'Hello'.endsWith('o',5)返回true;使用时需注意大小写敏感、length参数含义及空字符串行为;若需兼容旧环境,可通过lastIndexOf或subs
-
<progress>元素需同时设置value和max属性才有效,value必须在0到max之间(含端点),否则退化为不确定状态;它仅表示任务进度,不自动标识“完成”,需JS或CSS配合实现完成态样式。
-
class样式未生效的主因是CSS特异性冲突或元素未匹配选择器;检查开发者工具Styles面板中被划掉的样式,按内联>id>类>标签优先级排查,避免滥用!important和误用inherit。