-
try...catch仅捕获同步错误,适用于明确可能立即抛异常的场景,如JSON.parse、深层属性访问、同步API调用;需配合await捕获Promise拒绝,按error.name分类处理,finally仅用于无条件清理。
-
JavaScript的类是基于原型的语法糖,class声明本质是函数加prototype操作,实例属性须在constructor中用this显式初始化,继承必须正确调用super()以维护原型链。
-
会。直接设margin-right或margin-bottom会导致末项多出外边距而溢出,gap才是原生推荐方案,仅作用于项目之间;老浏览器可用:not(:last-child)补救,justify-content:space-between则无法保证相邻项间距恒定。
-
直接设置font-size在媒体查询中失效,根本原因是图标类被更具体的CSS规则覆盖,或字体设为inherit但父容器无字号;应确保display值、检查计算值、优先设置容器字号。
-
本文介绍如何通过浏览器本地存储(localStorage)持久化记录加载状态,确保用户在不同HTML页面间跳转时,加载动画仅执行一次,后续访问直接跳过并保留已添加的CSS类。
-
Flexbox是实现等高列最可靠方案,父容器需设min-height提供高度基准,子项默认拉伸;Grid通过align-items:stretch天然支持等高;table-cell语义错误且响应式差;JS补救仅限IE9及以下。
-
Vue响应式系统要求数据必须被ref或reactive显式包裹才能触发更新;直接修改普通对象属性无效,v-model、computed和watch均依赖此机制。
-
相邻兄弟选择器(+)用于精准匹配紧接在某元素后且同级的下一个兄弟元素,语法为A+B,要求A与B同父、无间隔;不支持前兄弟、跨层级或中间含注释节点,可结合伪类增强功能。
-
:focus仅对可聚焦元素生效,如input、button、a[href]等,div或span需加tabindex="0";hover与focus样式按声明顺序叠加,:focus-visible更适配键盘操作;移除outline必须提供等效视觉反馈。
-
required仅校验非空,pattern才校验格式;pattern需配合text类type,值为无前后斜杠的正则,浏览器自动添加^$,反斜杠需双写,Unicode需用汉字范围或JS处理,空值校验用|^$分支,提示靠title属性。
-
必须用background-image设置渐变,因linear-gradient()本质是图像;避免用background简写以防重置其他背景属性;推荐to关键词定义方向;悬停动画宜用background-position配合background-size实现;IE9及以下需提供background-color回退。
-
JavaScript的多态基于动态绑定、原型继承和鸭子类型,运行时根据对象实际方法决定行为;支持方法重写、结构匹配调用及函数内联多态,无需编译时类型检查。
-
使用padding-bottom技巧和max-width实现响应式视频嵌入:通过设置容器width100%、height0、padding-bottom保持宽高比(如16:9对应56.25%),结合绝对定位使iframe充满容器,再添加max-width限制最大尺寸并配合marginauto居中,支持不同比例通过类名区分,确保视频在各设备正常显示。
-
HTML5中不存在html5play函数,正确方法是调用video.play()并用.catch()处理NotAllowedError等拒绝错误,且必须由用户手势触发。
-
事件委托是利用事件冒泡将监听器绑定在父元素上以提升性能的技术;它通过event.target识别目标元素,用matches()校验选择器,适用于click等冒泡事件,可减少监听器数量、简化DOM更新、加快初始化。