-
CSS多重背景按声明顺序从上到下堆叠,先写的在最上层;通过逗号分隔多个背景值(颜色、图片、渐变),可独立设置background-size、position和repeat;示例中线性渐变叠加背景图增强文字可读性,或多层渐变营造层次感,配合background-blend-mode实现自然融合。
-
依赖注入通过显式声明依赖关系提升JavaScript代码的可维护性和可测试性,使测试时能轻松替换真实依赖为模拟对象,隔离被测单元,避免I/O等干扰,强制清晰职责边界,并可通过函数参数、工厂函数或模块级方式轻量实现。
-
要实现果冻感,需用高过冲贝塞尔曲线如cubic-bezier(0.68,-0.48,0.27,1.55),负y1触发反向收缩,y2>1增强回弹;仅作用于transform/opacity,配合requestAnimationFrame、will-change和pointer-events控制确保流畅。
-
React中应封装highlightText函数安全高亮文本,用语义化<mark>标签仅限搜索高亮等场景,避免XSS和a11y问题,需正则转义、useMemo缓存、显式样式重置。
-
尾调用优化(TCO)在JavaScript中基本不可用,所有主流引擎均已放弃支持,符合尾调用语法的函数仍会栈溢出;尾调用要求return后直接跟纯函数调用,且需严格模式。
-
JavaScript测试分单元测试和端到端(E2E)测试:单元测试聚焦函数或组件内部逻辑,快而细,用Jest/Vitest隔离运行;E2E测试模拟真实用户操作,慢但真实,用Cypress/Playwright在真实浏览器中验证全流程。
-
border会增加元素总尺寸,如width:100px;padding:10px;border:5px时,实际宽为130px;使用box-sizing:border-box可使border不增大全局尺寸;margin影响布局间距,垂直方向可能合并,水平方向累加,透明不可见但决定空白区域。
-
对象字面量{}最安全,避免new遗漏和原型污染;属性名含空格需引号;方法是函数值,支持简写;计算属性用[key];点号访问合法标识符,方括号支持动态键;this绑定取决于调用方式;Object.defineProperty默认不可枚举。
-
CSSGrid通过grid-template-columns明确设定侧边栏固定宽度(如240px或minmax(200px,240px))和主内容区1fr自适应,彻底解耦布局与内容,避免浮动、flex或百分比导致的宽度异常,并支持mediaquery无缝响应式切换。
-
try...catch仅对同步错误有效,如JSON.parse异常、undefined属性访问;对异步错误(setTimeout、Promise.reject)、语法错误、资源加载失败等无效;async/await中需配合await才能捕获Promise拒绝。
-
PDF转换前需先清理广告:用DevTools定位并删除广告DOM元素,或用Puppeteer在page.pdf()前执行JavaScript移除,或用wkhtmltopdf的--user-style-sheet注入CSS隐藏;残留广告需截图确认,顽固广告需人工校验。
-
常见写法为grid-template-columns:240px1fr;,实现左固定右弹性;需父容器设display:grid;,子项避免脱离文档流;响应式用媒体查询切换,如移动端改为1fr单列。
-
confirm()需在用户手势中调用并返回值阻断跳转,location.href等JS跳转须前置判断,异步场景应改用自定义弹窗;防数据丢失还需beforeunload事件兜底。
-
浮动布局塌陷本质是父容器未兜住脱离文档流的浮动子元素致高度坍缩,解决方法有三:一是用clear属性在浮动后加空标签清除;二是给父容器加clearfix类触发BFC;三是改用flex或grid布局天然规避。
-
<nav>标签用于定义页面主要导航区域,提升结构清晰度、可访问性和SEO;应包裹主导航链接,推荐结合<ul><li>组织导航项,便于屏幕阅读器识别;可通过CSS实现水平或响应式布局,增强用户体验。