-
Hoisting是指变量和函数声明被提升到作用域顶部:var声明提升并初始化为undefined,let/const声明提升但处于暂时性死区,函数声明完全提升而函数表达式不提升。
-
可在VC中通过四种方法运行HTML文件:一、用系统默认浏览器双击打开;二、新版VS中使用“在浏览器中查看”菜单;三、拖拽HTML文件至浏览器窗口;四、用ShellExecute编程调用浏览器。
-
Flex子项溢出主因是默认min-width:auto阻止收缩,应设min-width:0并配合overflow-wrap:break-word等文本换行控制,优先用flex:1而非固定宽。
-
统一使用同一CDN(如cdnjs.cloudflare.com)加载所有前端依赖,可减少TCP/TLS连接开销、提升弱网环境下的加载稳定性,并降低因多源CDN被劫持或污染带来的安全风险。
-
favicon需在<head>中用<link>声明,路径须正确且可直接访问,推荐根路径;应同时提供.ico和多尺寸.png格式,并加版本参数防缓存;真机实测各环境显示效果。
-
不能用opacity因为它会使子元素(文字、图片等)一同变透明;应使用background-color的rgba()值,仅让背景透明而内容保持100%不透明,兼容性好且语义清晰。
-
HTML表格居中可通过五种方法实现:一、CSSmargin:0auto配合固定宽度;二、text-align:center与display:inline-table结合;三、Flexbox的justify-content:center;四、Grid的place-items:center;五、已废弃的center标签(不推荐)。
-
本文介绍在React应用中可靠监听浏览器后退操作(如点击返回按钮或调用history.back()),并在用户确认后执行登出逻辑,解决原生popstate事件在现代ReactRouter环境中失效的问题。
-
关键在于预先定义边框并使用transition。1.始终设置border样式,如solidtransparent;2.使用transition:border-color控制颜色渐变;3.避免边框突然出现导致跳变;4.适用于:hover或.active类切换,确保过渡平滑。
-
高阶函数是接受函数作为参数或返回函数作为结果的函数。它体现JavaScript原生支持的函数式编程能力,如map、filter、reduce均通过接收回调函数实现解耦;once等自定义高阶函数利用闭包封装状态;使用时需注意this绑定与作用域问题。
-
WeakMap是唯一不阻止垃圾回收的键值结构,专为元数据绑定设计;键必须是对象且为弱引用,无size、遍历、清空等方法,无法序列化或调试。
-
使用transform和transition优化移动端CSS旋转动画流畅度,关键在于利用GPU硬件加速;应通过transform:rotate()替代left/top等触发重排的属性,仅对transform设置过渡如transition:transform0.3sease,避免使用transition:all;合理选择duration在0.2s–0.5s之间;通过will-change:transform或translateZ(0)提升图层独立性以减少重绘,但需避免滥用will-change;最终确保动画
-
HTML5的ApplicationCache(manifest)机制已被主流浏览器废弃,缓存失败主因是技术淘汰而非配置错误;需改用ServiceWorker+CacheAPI或Workbox实现现代离线能力。
-
用组合选择器明确样式作用边界是最直接解法,如以模块类名(.user-card)为父级锚点,采用BEM命名(.search-form__input),禁用全局标签样式,慎用all:unset,优先子选择器>控制层级,用:where()降低权重干扰。
-
通过监听deviceorientation事件获取alpha、beta、gamma三个角度值,可实现设备方向检测,需处理权限请求与兼容性问题,并应用于游戏、全景浏览等场景。