-
对象字面量{}最安全,避免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事件兜底。
-
按钮组合的本质是布局约束与状态隔离,需通过flex/grid容器、position:relative包裹、gap替代margin、同步控制pointer-events与tabindex等实现可靠交互与可访问性。
-
弹性布局内容溢出本质是子项过度压缩或缺最小宽度,应通过flex-shrink权重调控、min-width设安全底线、flex-basis定初始尺寸及文字截断/换行处理协同解决。
-
grid-auto-columns用于设置网格容器中隐式创建的列的宽度。当子元素被定位到未显式定义的列时,浏览器会自动生成隐式列,默认宽度为auto;通过grid-auto-columns可统一控制这些列的宽,支持固定值、百分比、fr单位及min-content等取值;常与grid-auto-flow:column配合实现横向自动布局,适用于轮播图、动态卡片等场景;结合minmax()和媒体查询可提升响应式灵活性,且仅影响隐式列,不影响已定义的列轨道。
-
JavaScript生成器函数是能暂停和恢复执行的特殊函数,通过function*定义,返回迭代器对象,调用next()运行至yield并返回{value,done}结构,支持双向通信与惰性求值。
-
表单action未生效通常因前端未触发提交行为,如button缺少type="submit"或未调用event.preventDefault();action仅决定提交地址,空字符串表示提交至当前URL;相对路径易受路由影响,推荐绝对路径如"/api/submit"。
-
前端路由通过Hash或History模式实现SPA页面切换。Hash模式兼容性好但URL不美观;History模式URL简洁利于SEO,但需服务器配置支持。
-
Vue异步更新队列将多次数据变更合并为一次DOM更新,nextTick在patch完成后、浏览器渲染前执行微任务回调,patch由队列统一触发虚拟DOM比对与更新。
-
JavaScript解析器分阶段执行代码,因引擎需先语法分析和编译,采用“预解析+懒编译”策略:函数声明预解析但主体懒编译,箭头函数赋值时仅语法检查,class定义时即全量编译,eval/newFunction强制同步编译。
-
Chrome中HTML5功能异常的解决步骤为:一、更新浏览器至最新版;二、在chrome://flags中启用HTML5实验性功能;三、用Tampermonkey脚本强制切换HTML5播放器;四、确保网页使用标准HTML5结构(如<!DOCTYPEhtml>);五、检查视频格式是否为Chrome支持的MP4(H.264+AAC)等。