-
CSS未生效的五大原因:①preload/prefetch未配合JS注入导致白屏;②media属性不匹配使样式被屏蔽;③link标签误加defer/async属性无效且危险;④服务器未返回text/cssMIME类型;⑤构建工具配置错误混淆script与style处理逻辑。
-
Promise是ES6引入的异步编程标准对象,用于解决回调地狱、错误处理分散及缺乏统一控制等问题;它表示异步操作的三种状态(pending/fulfilled/rejected),通过newPromise()创建,支持.then()/.catch()链式调用与Promise.all/race/finally等组合方法。
-
Symbol是JavaScript中唯一能保证值唯一性的原始类型,每次调用Symbol()都返回全新不相等的值,其唯一性由引擎内部私有标识保障,不可枚举且防冲突,但JSON.stringify会忽略、不可点访问、类中不能static声明。
-
@import比link慢,因其触发串行加载,无法与HTML解析并行,多层嵌套加剧延迟,不支持media预加载且存在旧浏览器兼容问题;应改用head中的link标签实现并行加载与优化。
-
<metahttp-equiv="refresh">通过content属性实现页面定时刷新,格式为“秒数;url=地址”,秒数为正整数,url省略时默认刷新当前页,不依赖JS,但会丢失状态且不推荐用于生产环境。
-
可在两个HTML页面间通过URL查询参数、localStorage、sessionStorage、表单POST或BroadcastChannelAPI传递文本框数据:前三种适用于客户端单向跳转传值,第四种需服务端配合,第五种支持同源标签页实时通信。
-
内联样式权重(1000)高于外部样式,但可通过!important、JavaScript移除或避免使用内联样式来覆盖;外部样式按引入顺序后载者优先;调试时用开发者工具查看被划掉的规则及来源。
-
可通过HTML5与CSS定位、Grid、Flexbox、Canvas或Clip-path五种方法实现图片层叠:一用绝对定位加z-index;二用Grid的grid-area与order;三用Flexbox负边距与transform;四用Canvas按序drawImage;五用clip-path裁剪局部叠加。
-
嵌入地图有两种主要方法:使用<iframe>标签快速展示,或通过地图API实现深度交互;2.<iframe>适用于静态展示,操作简单但交互受限;3.地图API支持动态加载、自定义样式和复杂交互,适合高阶需求;4.使用API需获取密钥、加载库文件并初始化地图实例;5.性能优化包括懒加载、合理管理数据量及处理跨域问题。
-
width和height用于设置元素内容区域的尺寸,不包括padding、border和margin(除非box-sizing改为border-box);块级元素默认占满父容器宽度,行内元素由内容决定大小;可使用像素、百分比、vh、auto或fit-content等值;推荐结合box-sizing:border-box和相对单位实现响应式布局,提升页面适配性与可控性。
-
使用::before和::after伪元素可在不改动HTML的情况下为表单添加视觉提示;2.通过position:relative与absolute结合content属性定位并显示图标;3.利用颜色如#d32f2f表示错误、#388e3c表示成功强化反馈;4.结合JavaScript动态添加类名控制样式显示,实现邮箱验证等场景的实时提示效果。
-
forEach用于执行副作用且不返回新数组,map用于一对一转换并返回新数组,filter根据布尔值筛选并返回新数组;三者均不修改原数组,但forEach无法中断或链式调用,map和filter可组合使用。
-
可通过CSS的border属性设置虚线边框,包括内联style、外部CSS类、单边控制、border-image自定义图案及box-shadow模拟等五种方法实现。
-
JavaScript通过属性描述符、seal和freeze控制对象可变性:属性描述符可设置writable、enumerable、configurable;Object.seal禁止增删属性,Object.freeze完全锁定对象,但均为浅层操作。
-
CSS404不报错是因为浏览器将其视为非阻塞资源,仅在控制台显示黄色警告;首要排查<link>标签href路径是否正确,包括相对路径、大小写、拼写及服务器实际文件位置,并借助Network面板验证请求地址与缓存影响。