-
Promise链是通过.then()方法串联多个异步操作,确保依次执行并传递结果,例如fetch用户数据后请求其文章,每步返回值或Promise供下一步使用,错误由末尾.catch()统一捕获,需避免断链陷阱如忘记returnPromise。
-
在Ionic+Angular+Capacitor项目中,对@capacitor/status-bar插件进行单元测试时,因Web环境下插件未实现而报错,可通过路径别名+全局mock方式精准模拟StatusBarAPI,使StatusBar.setStyle()等调用可被spyOn和断言。
-
使用@keyframes定义动画,通过color和background-color实现文字与背景色同步闪烁,如:@keyframesblink{0%{color:black;background-color:white;}50%{color:red;background-color:yellow;}100%{color:black;background-color:white;}},并应用.animation:blink1sinfinite于元素,可通过调整时长、次数或添加prefers-reduced-
-
默认box-sizing为content-box易触发重排,建议设为border-box;margin-collapse动态修改会强制layout;outline不建新图层而box-shadow会;display:none完全跳过渲染,visibility:hidden仍执行layout。
-
map是“每个都变”,filter是“挑着留”:map用于一对一转换且输出长度不变,filter用于条件筛选且输出长度≤原数组。
-
现代JavaScript继承优先用class+extends,因其语义清晰且自动建立正确原型链、修复constructor;直接赋值Parent.prototype给Child.prototype会导致共享原型和constructor指向错误。
-
color属性支持5类颜色值格式:颜色关键字、十六进制(#rgb/#rrggbb/#rgba/#rrggbbaa)、RGB函数、RGBA函数、HSL/HSLA函数;推荐优先使用十六进制或HSL因其精度高、可计算且易调色。
-
浮动导致父容器高度塌陷需用清除浮动或改用Flex/Grid布局;传统方案用伪元素.clear::after{content:"";display:block;clear:both},现代方案优先display:flow-root或flex;图文环绕等场景仍需保留float。
-
<p>应使用class替代重复的内联style,统一管理样式;用CSS自定义属性管理常量;通过data-属性实现轻量状态控制;借助@layer分层控制优先级,提升可维护性与语义化。</p>
-
float是借位排版,仅靠副作用实现布局且需手动修复塌陷;flex是原生布局,父容器自动包裹、子项默认等高居中、响应式切换只需改flex-direction。
-
答案:通过position与display属性结合实现鼠标悬停显示隐藏内容。默认用display:none隐藏元素,悬停父级时设为display:block显示;父级设position:relative,子级用position:absolute精确定位,常见于下拉菜单、提示信息等场景。
-
WebSpeechAPI的SpeechRecognition在iOSSafari中完全不支持、AndroidChrome部分版本默认禁用,且仅HTTPS或localhost下可用;需用window.SpeechRecognition||window.webkitSpeechRecognition兼容写法,并在用户手势中调用start(),设置interimResults和lang才能正常识别。
-
在Svelte中,仅修改对象属性(如data.value++)不会触发响应式更新;必须通过赋值语句(如count=count或count={...count})显式通知框架状态已变。
-
伪元素法清除浮动需同时设置.content:""和display:table,::before防外边距合并,::after加clear:both;overflow:hidden靠触发BFC“清浮”但会裁剪溢出内容;clear:both加在浮动元素自身无效,因目标是撑开父容器而非控制元素定位。
-
Web转App工具(如WebToApp)无法原生支持HTML<inputtype="file"multiple>在Android环境下的多图选择,因WebView默认限制及文件选择器权限机制差异,需通过原生桥接或替代方案解决。