-
Promise是对异步操作的标准化封装,核心判断标准是结果是否在未来某个时刻获得且有明确成功/失败状态;纯同步计算或立即完成逻辑不应使用Promise。
-
页面局部闪烁主因是GPU合成层切换失败导致CPU渲染,常见于opacity/transform过渡,尤其Safari;应避免layout属性动画、合理创建合成层,并按设备UA适配。
-
对象冻结是使对象不可变的操作,Object.freeze()可防止属性增删改及配置修改,但仅浅层生效;若属性为引用类型,需通过递归实现深度冻结,如封装deepFreeze函数;可用Object.isFrozen()检测是否冻结,适用于配置保护、状态管理等场景。
-
HTML无原生快捷键,需用JavaScript监听keydown事件实现;accesskey属性因浏览器差异、冲突和无反馈而基本弃用;全局快捷键应绑定document并注意修饰键、preventDefault及焦点上下文。
-
HTML原生input[type="url"]不可靠,仅做基础协议+域名结构检查,无法校验协议真实性、域名可解析性或路径合规性,必须配合后端校验。
-
VueRouter的scrollBehavior通过返回滚动对象(如{top:0}、{el:'#main'})控制跳转滚动位置,需配合html{scroll-behavior:smooth}实现平滑效果,并利用savedPosition保留历史滚动位置。
-
JavaScript正则表达式是匹配、查找、替换字符串模式的工具,支持字面量(如/abc/)和构造函数(如newRegExp('abc'))两种创建方式,常用test()、match()、replace()、split()方法,需注意元字符、锚点、捕获组及标志位用法。
-
合理使用font-weight和text-decoration可提升文本可读性与视觉层次。font-weight控制字重,常用normal(400)和bold(700),支持100–900数值精细调节,需字体支持;text-decoration添加装饰线,如none、underline、line-through、overline,现代CSS支持样式、颜色、线型组合,如波浪红线下划线。结合两者增强信息层级,避免过度加粗,注意小字号下细体与下划线的辨识度,确保可点击元素有明确视觉提示,根据语义选择样式,提升用
-
本文详解Node.js服务在VSCode中反复启动失败(报错EADDRINUSE:addressalreadyinuse:::5500)的根本原因,并提供优雅关闭机制与实用调试方法,确保服务稳定、可重复启动。
-
图片容器需设position:relative作为定位锚点,文字层用position:absolute配合top/left及z-index:1定位并置顶,背景用rgba而非opacity,响应式推荐百分比坐标与transform垂直居中。
-
是的,display:none让元素彻底退出渲染树,不占空间、不可见、不响应事件、子元素也消失;它不是隐藏而是“当作不存在”,但频繁切换可能因重建渲染树而卡顿。
-
现代项目不推荐clear:both,因其属打补丁式清理,破坏文档流、难应对嵌套浮动与响应式,且依赖DOM结构;应优先用display:flow-root、flex或grid等现代布局方案。
-
浮动影响响应式布局主要因破坏文档流导致父容器塌陷、小屏换行错乱,且依赖固定宽度难以自适应;需额外清除浮动,维护成本高。相比之下,Flexbox与Grid支持自动伸缩、对齐和二维布局,更适配响应式需求,推荐优先使用。
-
IE6/7中z-index失效的根本原因是父容器未触发层叠上下文,必须给直接父级设position:relative以创建上下文,而非仅调高z-index值或依赖祖先定位。
-
绝对定位多列不重叠需按内容最大宽度设列宽并加间隙,left用累计偏移计算,父容器须设height防塌陷,IE11避免混合单位calc()。