-
Canvas文字不显示需检查fillStyle和font是否已设置,二者缺一不可;y坐标对应基线而非顶边;中文需显式声明字体并等待WebFont加载完成;慎用strokeText和大阴影以防性能下降。
-
Chrome中font-smoothing无效是因-webkit-font-smoothing仅macOS有效,Windows/Linux下被静默忽略;应优先使用font-optical-sizing:auto等标准属性,而非依赖私有平滑控制。
-
flex-wrap:wrap未换行主因是父容器宽度过大或未设宽,致子项可单行排列;需设width/max-width、检查flex-shrink及white-space;justify-content仅作用于当前行内对齐。
-
按钮状态切换不自然的主因是未在默认状态中定义transition,导致进出动画不一致;应显式声明需过渡的属性、统一各交互态的过渡参数,并排查样式覆盖与属性兼容性问题。
-
overflow:hidden不能裁剪position:absolute元素,因其仅对既是定位上下文又是新层叠上下文的祖先生效;若最近定位祖先未设overflow:hidden或不存在,则裁剪失效。
-
background-position:center仅控制背景图定位点对齐容器中心,不控制缩放与裁剪;需配合background-size:cover才能实现居中剪裁,且裁剪区域受图片与容器宽高比影响。
-
可选链操作符?.是用于安全访问深层嵌套属性、可能为空的对象方法及数组索引的语法,遇null/undefined即返回undefined;??则用于null/undefined时的默认值兜底,二者职责分明且常组合使用。
-
微服务下JavaScriptAPI设计需兼顾独立性与前端友好性。1.采用RESTful风格,用名词表示资源如/users,通过HTTP方法定义操作,统一返回结构含data、success、message;2.引入BFF或APIGateway聚合数据,减少前端多请求负担,提升性能;3.耗时任务使用异步模式,返回202状态码及任务ID,前端轮询或WebSocket监听结果;4.用Swagger定义接口并生成TypeScript类型,确保前后端契约一致,提升协作效率与系统稳定性。
-
不能。grid-auto-flow:dense仅按DOM顺序填空,不支持跨行高度自适应,无法实现真Masonry;column-count+break-inside:avoid是目前最稳定纯CSS替代方案。
-
yield本身不处理异步,仅暂停生成器并交出控制权;真正实现异步暂停的是yield后接Promise并配合await或手动next()调度;asyncfunction*使yield可等待Promisesettle后再产出值。
-
Vue.js数组响应式失效主因是直接索引赋值或改length;需用7个变异方法(push/pop/shift/unshift/splice/sort/reverse)或$set/splice替代;Vue3虽用Proxy增强支持,仍建议优先使用变异方法。
-
HTMLMediaElement.play()是原生方法,不存在html5play函数;分段播放需手动控制currentTime、pause()、play()及timeupdate事件,用区间判断替代精确时间点以避免失效。
-
XSS防护需结合输入处理、输出编码与上下文感知,通过多层防御体系阻断攻击。首先对用户输入按目标上下文进行HTML或JavaScript编码,插入HTML时优先使用textContent,动态渲染则转义特殊字符;在脚本中嵌入数据时采用JSON.stringify或专用转义函数防止代码注入。部署CSP作为最后一道防线,限制script-src为'self'及可信CDN,禁用'unsafe-inline'与'unsafe-eval',并结合nonce或hash机制授权合法脚本。针对富文本输入,使用DOMPuri
-
base标签通过定义基准URL统一管理HTML文档中的相对路径,简化资源引用并支持多环境部署,其href属性直接影响相对路径解析和SEO,需确保指向规范URL以避免爬虫解析错误和重复内容问题,使用时应结合中心化配置与自动化构建流程,防止路径混乱和兼容性风险。
-
JavaScript内存泄漏指本该回收的内存因意外引用无法释放,导致页面卡顿甚至崩溃;典型场景包括未清理事件监听器、未清除定时器、意外全局变量、DOM引用残留及闭包持有大对象。