-
JavaScript通过事件循环实现异步,执行栈处理同步任务,异步回调进入任务队列;宏任务(如setTimeout)与微任务(如Promise)分阶段执行,每完成一个宏任务即清空微任务队列,确保微任务优先执行。
-
用ResizeObserver解决Canvas模糊与偏移的核心是同步更新canvas的width/height属性和ctx.scale:当字体缩放导致容器尺寸变化时,需按devicePixelRatio重设像素尺寸并缩放坐标系,再重绘内容。
-
推荐使用<header>与<p>标签组合:主标题用<h1>,副标题用带class="subtitle"的<p>,语义清晰且不破坏大纲;<hgroup>已废弃但部分浏览器支持;ARIA可增强可访问性;CSS伪元素适合固定文本场景。
-
Vue路由懒加载失效主因是import()写法不规范:必须为静态字符串参数的函数调用,禁用拼接、变量、多余解构;正确写法为component:()=>import('@/views/Home.vue'),并可通过webpackChunkName分包。
-
position:sticky失效的根本原因是父容器overflow非visible或自身处于transform/filter等创建新层叠上下文的样式中;需检查祖先节点computedstyles,确保无overflow:hidden/auto/scroll、无transform/perspective/filter等影响,并在iOSSafari中为flex/grid父容器添加align-items:start。
-
history.pushState不触发页面跳转,因其仅修改URL和历史记录;需手动监听popstate事件并更新视图,且首次加载须主动读取location.pathname渲染。
-
ApplicationCache(manifest)已全面废弃,导致白屏或加载失败;现代离线能力必须依赖ServiceWorker+CacheAPI,需正确实现install、fetch、activate三阶段逻辑,并注意作用域、HTML缓存风险及MIME干扰问题。
-
移动端底部导航不能只用position:fixed,因iOSSafari和部分安卓WebView滚动时会遮挡或因地址栏伸缩导致导航跳动、消失;须配合viewport-fit=cover、env(safe-area-inset-bottom)、避免overflow:hidden等方案。
-
本文详解如何在TypeScript中通过命名空间与模块导出机制,实现类似types.login.form的链式类型访问,避免冗余的.default路径,提升类型定义的可读性与工程一致性。
-
多态指同一方法在不同对象中表现不同行为,JavaScript通过原型继承与动态类型实现多态。例如Animal为父类定义speak方法,Dog和Cat继承并重写speak,调用时根据实例类型执行对应逻辑。利用构造函数与原型链可建立类型层级,子类覆盖父类方法实现个性化行为;而鸭子类型则不依赖继承,只要对象具有相同方法名即可统一处理,如speaker1与speaker2均实现speak,传入performSpeak函数时各自输出不同内容;结合工厂模式可进一步提升扩展性,createDevice根据类型返回不同c
-
JavaScript中有6个falsy值:false、0、-0、""、null、undefined、NaN;在条件判断中,这些值会被自动转为false,其余均为true,包括空数组和空对象。
-
HTML5中换行符不渲染是因浏览器默认忽略空白字符,解决方法包括:一、用white-space:pre-line等CSS属性;二、用<pre>标签;三、JS将\n替换为;四、CSS伪元素注入换行;五、服务端预处理。
-
组件化开发通过拆分界面为独立模块提升代码可维护性与团队协作效率。1.组件应具备单一职责、高内聚低耦合、可复用性和可组合性,如电商页可拆分为商品卡片、筛选栏等。2.React使用函数组件和JSX,Vue采用单文件组件支持响应式,Angular以TypeScript类为核心集成依赖注入,均支持组件通信与生命周期管理。3.组件通信包括父传子(props)、子传父(回调)、跨层级(Context)及全局状态管理(Redux/Vuex)。4.构建组件库需规范命名与结构,编写文档,支持主题定制,并集成测试,配合Sto
-
HTML<details>标签可实现基础折叠/展开,但IE全系不支持,Edge12–18无动画且toggle事件不可靠,旧版Safari(≤15.4)嵌套渲染异常;手动绑定onclick会破坏可访问性、键盘支持和事件监听,正确做法是监听toggle事件;max-height过渡需动态读取scrollHeight避免跳变;手风琴效果须JS管理open状态并防抖处理。
-
七彩虹不控制HTML5自动播放,该问题由浏览器决定;需在Chrome/Edge中修改flags并禁用Flash,QQ浏览器开启省流模式并按域名阻止,网页端应移除autoplay与muted属性。