-
Promise和Async/Await是解决JavaScript异步编程问题的核心工具。Promise通过resolve/reject控制异步状态,支持链式调用与错误捕获;Async/Await以同步语法处理异步逻辑,提升可读性。实战中应合理使用Promise.all()进行并发控制,避免滥用await,并始终结合try/catch处理异常,确保代码健壮性。
-
fetch更现代但默认不带cookie,需显式设置credentials;XMLHttpRequest更底层兼容性好但写法冗长;fetch无progress事件、错误处理不按HTTP状态码,IE完全不支持;选型取决于是否需支持IE及精细控制请求生命周期。
-
animation-duration用于设置动画周期时长,默认为0秒需指定正值才能播放,单位用s或ms表示,可单独设置或在animation简写中定义,多个动画时用逗号分隔对应时长。
-
HTML中文乱码需统一字符编码:一、head中加<metacharset="UTF-8">;二、服务器配置HTTP响应头Content-Type;三、编辑器保存为UTF-8无BOM;四、DOCTYPE后立即声明charset;五、验证文件编码、响应头、document.characterSet三者一致。
-
原生CSS响应式适配工作量大,因需手动写@media断点、测多设备参数、处理老浏览器flexfallback及iOSSafariviewportbug;Tailwind通过sm:、md:等前缀在构建时生成真实CSS规则,实现“声明即适配”;Bootstrap5以container-fluid和g-3等现代工具类提供开箱即用的栅格与间距方案;但字体、图片srcset、表单样式等细节仍需手动处理。
-
transition-delay不生效通常因CSS覆盖、状态未变化或写法错误;须在初始状态定义完整transition,避免仅在hover中设置delay,且确保属性可过渡、值发生改变。
-
localStorage和sessionStorage生命周期与作用域不同:前者同源永久存储,适合用户偏好;后者仅限当前标签页,适合临时数据。二者均只支持字符串,存对象需JSON序列化,且有跨源、私密模式等限制。
-
grid-template-areas是CSS中用于通过字符串网格图定义命名区域的布局属性,本质是声明式布局而非语法糖;它提升可读性、语义化和协作效率,支持用“.”表示空白,并需严格匹配子元素的grid-area值。
-
align-items:center垂直居中生效需父容器设display:flex且有明确高度(如height、min-height);主轴为row时控制交叉轴(垂直),改为column则控制水平,此时需justify-content:center。
-
通过transition属性可让多个CSS属性同时过渡,如transition:all0.3sease或列出具体属性;常用于按钮悬停等交互效果,确保变化平滑。
-
HTML5课表有两种主流方案:一是语义化<table>实现行列对齐,支持rowspan/colspan合并单元格;二是<div>+CSSGrid/Flex实现响应式布局,配合ARIA属性保障可访问性。
-
flex子元素长文本撑破容器时,需在子元素上设word-break:break-all和overflow-wrap:break-word,并配合width/max-width及min-width:0以允许压缩换行。
-
CSSGrid用repeat(auto-fit,minmax(250px,1fr)))实现自适应列数,Flexbox通过flex-wrap与flex:11250px实现等宽响应式,旧浏览器需媒体查询分档控制,同时需注意对齐、gap适配及可访问性。
-
:active仅在元素被主动按下且未释放时瞬时生效,不支持过渡动画,需配合可聚焦元素(如button、a)或tabindex;移动端存在300ms延迟,:hover则仅适用于指针设备,两者不可替代:focus,且层叠顺序与组合逻辑需严格遵循规范。
-
首先通过文件资源管理器双击index.html直接打开;其次可用浏览器菜单导入文件;再者支持拖放至浏览器标签页预览;最后复杂项目建议用npxserve启动本地服务器运行。