-
在Vue3中,直接对reactive([])数组赋值(如users=filteredUsers)会丢失响应性;必须使用.value赋值(ref)、原地修改(splice/push)或重置数组内容,才能确保视图同步更新。
-
使用CSSanimation与rotate结合可实现无需JavaScript的流畅旋转效果,如加载动画、按钮悬停反馈等。通过@keyframes定义关键帧,设置transform:rotate()控制角度变化,再用animation属性绑定动画,常用参数包括名称、时长、速度曲线和循环次数。例如.loader类创建圆形加载器,持续匀速旋转;也可配合transition实现悬停微交互,如图标旋转15度。注意transform-origin可调整旋转中心,默认为元素中心点。
-
绝对定位元素的定位基准是最近的已定位祖先元素(position为relative、absolute、fixed或sticky),若无则为初始包含块(视口);父元素需设position:relative等非static值才能成为定位上下文,且top/left以该祖先的paddingbox左上角为起点。
-
用for循环生成等差数列最直接,需明确start、step、n三参数;避免innerHTML+=拼接,应先清空再批量写入;负数toFixed兼容性问题可用Math.round兜底。
-
全屏API通过requestFullscreen()请求元素独占显示并隐藏浏览器UI,需用户手势触发,配合fullscreenElement、fullscreenEnabled属性及fullscreenchange、fullscreenerror事件监听状态变化。
-
background-size本身不触发动画,必须配合animation或transition才能实现动态缩放;需用@keyframes定义变化过程,且平铺背景、统一多层动画参数、慎用cover/contain,并优先使用百分比单位以保障兼容性。
-
用:hover实现悬停变色边框需先设border:2pxsolidtransparent,再hover改color并加transition;点击切换需JStoggleclass;多状态推荐data属性驱动;移动端要加touch-action和cursor:pointer。
-
可通过meta标签检测、ServiceWorker监听、Last-Modified头比对、manifest.json校验四种方式提示HTML页面新版本更新。
-
防抖解决连续触发事件时只在最后一次操作结束后延迟执行的问题,如搜索框输入防频繁请求;节流则控制高频事件每N毫秒最多执行一次,适用于scroll、拖拽等需限频场景。
-
使用HTMLtitle属性可创建基础tooltip,通过CSS可自定义样式,结合JavaScript能实现动态效果,利用data属性分离内容更利于维护,引入Tippy.js等库则支持高级功能。
-
Android4.4WebView滚动文字掉帧主因是渲染线程无法稳定提交transform帧至GPU,尤其受box-shadow、border-radius等触发软件渲染;应使用translateZ(0)强制硬件加速并精简样式,降级时用setInterval+scrollLeft替代requestAnimationFrame,辅以UA与特性检测自动切换策略。
-
使用<dfn>、<dl>、<dt>和<dd>标签可语义化定义HTML术语,提升可访问性、SEO及代码可读性;<dfn>标记被定义的术语,<dl>结构化术语列表,嵌套使用增强层级关系与语义精确性。
-
<inputtype="date">是HTML5原生日期控件,需严格使用YYYY-MM-DD字符串格式操作value,兼容性差需降级处理,服务端必须二次校验。
-
执行上下文和调用栈是JavaScript运行核心机制。代码执行时创建全局、函数或eval上下文,经历创建与执行两阶段,变量提升发生在创建阶段;调用栈以LIFO方式管理函数执行顺序,函数调用时入栈,执行完出栈,递归过深会导致栈溢出;通过调试工具观察栈变化、分析变量提升及闭包作用域链可加深理解,有助于排查作用域、this指向等问题,提升代码可靠性。
-
直接修改element.style.xxx只影响行内样式、优先级高但易出错,需驼峰命名、值为字符串,读取应使用getComputedStyle(),批量操作推荐classList,自定义变量须用setProperty/getPropertyValue。