-
async函数内必须用trycatch包裹await表达式才能捕获异步错误,因async返回Promise,外部trycatch仅捕获同步错误;事件处理器中需显式处理Promise拒绝,避免错误静默丢失。
-
navigator.geolocation需HTTPS或localhost、检查支持性、必须传error回调;watchPosition需手动clearWatch防泄漏;enableHighAccuracy耗电且室内无效;拒绝权限后需降级方案。
-
计算属性比方法更快,因其具备依赖缓存机制:只要依赖数据未变,多次访问直接返回缓存结果;而方法每次调用均重新执行,无缓存。
-
纯CSS可实现侧边栏左右拉伸,但仅WebKit浏览器(Chrome/Safari/Edge)支持通过::-webkit-scrollbar扩展拖拽区域为竖线;Firefox仅限右下角小区域且不支持该扩展,属浏览器限制而非写法错误。
-
应直接监听表单submit事件并调用preventDefault()阻止默认提交,再执行JS验证;required和pattern适用于基础校验,复杂逻辑必须用JS;checkValidity()和reportValidity()仅支持原生约束且提示不可控;错误提示需靠近字段、适时触发、及时清除关联状态。
-
CSS变量值不应加外层引号,否则引号会被当作字面量存储;正确写法是--my-str:helloworld;,需转义时用\"或\',URL和calc等原生语法可直接使用。
-
HTML中通过在<option>标签添加selected布尔属性可设置默认选中项,仅需写selected无需赋值,且同一<select>中只能有一个<optionselected>,否则仅首个生效。
-
findLast更适合权重配置场景,因其短路查找性能优、语义清晰;需确保数组按权重升序排列再使用,旧环境需polyfill或手动反向遍历降级。
-
粘连布局(StickyFooter)必须通过Flexbox或Grid实现高度分配,而非position:sticky/fixed;因sticky对footer无效(无滚动进入过程)、fixed会脱离文档流,Flexbox需body设height:100%和flex-column,Grid推荐minmax(0,1fr)防撑爆。
-
writing-mode:vertical-rl是唯一语义化竖排方案,需配text-orientation:mixed使汉字直立、字母数字自动旋转;失效主因是父容器非块级、触发旧布局或未设高度;换行用white-space:normal或pre-line,line-height必须用无单位值。
-
答案:通过CSS的@keyframes和animation属性可实现背景颜色渐变动画。1.使用background-color在多色间循环渐变;2.动画linear-gradient的角度实现方向变化;3.改变渐变颜色位置制造滑动效果;4.利用伪元素位移创建扫光等高级动效。根据视觉需求选择方案,注意性能优化。
-
Canvas是绘制动态数字仪表盘最可控方案,因其支持精确角度映射、实时重绘与抗锯齿;需用requestAnimationFrame驱动、devicePixelRatio适配高DPI屏,并手动计算刻度对齐与指针缓动。
-
掌握正则高级特性可高效处理复杂文本,1.使用捕获分组()提取IP、时间等结构化信息;2.非捕获分组(?:)提升性能;3.零宽断言(?=)(?!)(?<=)(?<!)精确定位上下文;4.懒惰匹配?避免越界,占有修饰符+防回溯;5.条件表达式(?(cond)yes|no)处理可选结构,建议用工具逐步构建。
-
await遇到被拒绝的Promise时会抛出异常,但若未用try-catch捕获,错误虽被抛出,后续同步代码仍可能因未中断执行流而意外运行;本文详解原因、修复方案及最佳实践。await遇到被拒绝的Promise时会抛出异常,但若未用`try-catch`捕获,错误虽被抛出,后续同步代码仍可能因未中断执行流而意外运行;本文详解原因、修复方案及最佳实践。在使用async/await时,一个常见误区是认为只要写了await,Promise
-
虚拟DOM渲染本身不直接导致失焦,真正原因是输入框对应DOM节点被销毁重建,焦点无法自动继承;常见于key不稳定、父组件过度重渲染、受控组件逻辑不当等场景。