-
Flexbox布局的核心优势在于简化对齐与空间分配,特别是通过display:flex、flex-direction和justify-content等属性协同实现灵活的元素排列;它能轻松实现垂直居中、响应式换行及主轴空间均匀分布,减少媒体查询依赖,提升开发效率与可维护性。
-
BEM的block__element--modifier结构不可随意更改,因其绑定CSS权重与可维护性,确保样式作用域清晰、避免覆盖;block必须是独立功能单元,element不可嵌套,modifier仅描述状态或变体。
-
答案:通过CSS路径选择器结合a标签伪类,按LVHA顺序定义link、visited、hover、active状态,并利用后代、子等选择器实现导航、页脚等不同区域链接的精细化样式控制,同时确保focus状态和可访问性。
-
<br>不该滥用但该用时必须用,仅用于地址、诗歌、歌词等自然语言需换行的语义场景;多数换行需求应由CSS(如display、margin、flex)解决,避免破坏无障碍与响应式。
-
闭包是函数与其词法作用域的组合,能访问并记住外部变量。例如inner函数引用outer的count,即使outer执行完,count仍被保留。关键特性:作用域链机制使内部函数可访问外层变量;变量不被垃圾回收;每个闭包独立持有外部变量副本。应用场景包括模拟私有变量、回调中保存状态、函数柯里化和模块模式。问题有内存泄漏风险及循环中共享变量陷阱,如用var循环创建闭包会输出相同值,改用let可解决。理解闭包需掌握作用域链与变量生命周期,通过实践加深认知。
-
响应式状态深度监听的关键是避免无效监听、控制更新粒度、确保变化可追溯;Vue3默认深层响应,但需通过computed+toRaw、shallowRef+triggerRef、watch合理配置及结构化Store设计来实现精准响应。
-
双击HTML文件无反应,首要检查浏览器是否设为默认打开程序;其次路径含中文或空格会导致Chrome/Edge加载失败,需改用纯英文路径;此外本地缓存易致预览旧内容,应强制刷新或使用LiveServer;移动端则因系统限制无法直接打开,须借助专用App或本地HTTP服务。
-
用语义化HTML(section/article/figure)+CSSGrid(auto-fill/minmax)实现响应式商品列表,配合viewport、alt、aria属性保障可访问性与移动端适配。
-
Normalize.css必须在所有自定义CSS之前加载,否则其统一样式会被覆盖而失效;它不是兜底方案而是样式基线,错误顺序会导致button边框残留、h1大小不一、input对齐错位等问题。
-
依赖收集是Vue在读取响应式数据时自动记录依赖关系的过程,通过Observer、Dep和Watcher协同工作,确保数据变化时精准通知对应组件或计算属性更新。
-
混用%和fr时,百分比列先按容器宽度计算,fr列再平分剩余空间;顺序影响布局,如50%1fr1fr中后两列各得剩余空间的1/2,而非容器的25%。
-
<inputtype="file">需用label关联或JS调用click()激活,禁用display:none或opacity:0;accept仅提示类型,校验须JS+后端;预览用FileReader读取DataURL,大文件避readAsDataURL;FormData上传注意IE11兼容性。
-
防抖和节流是前端优化高频事件的两种手段:防抖通过延迟执行,仅在事件停止触发后执行一次,适用于搜索输入等场景;节流则保证在指定时间间隔内最多执行一次,适合滚动监听等频繁操作。两者核心区别在于执行时机与频率控制,合理选择可提升性能与用户体验。
-
跨平台HTML工具在不同设备上效果差异源于渲染引擎、资源调度与硬件加速支持差异;需通过标准化测试环境、CSS帧率、JS执行时延、WebGL初始化及离线存储吞吐量五步实测分析。
-
迭代器模式与生成器函数结合,通过惰性求值实现高效数据流处理。生成器函数以yield暂停执行,按需生成值,避免内存溢出,尤其适合无限序列或大型数据流。传统数组和循环因饥饿求值和状态管理复杂难以应对,而生成器仅在调用next()时计算下一个值,内存占用小、资源消耗低。异步场景中,asyncfunction和forawait...of支持异步迭代,可处理分页请求、事件流等,结合yield可委托其他迭代器,构建灵活的数据管道,提升异步代码可读性与维护性。