-
forEach用于执行副作用且不返回新数组,map用于一对一转换并返回新数组,filter根据布尔值筛选并返回新数组;三者均不修改原数组,但forEach无法中断或链式调用,map和filter可组合使用。
-
document.cookie不能安全存储用户数据,因其是无类型、无编码、无隔离的字符串接口;localStorage同样不适用存token或密码,因XSS下可被直接窃取。
-
外部样式表通过link标签引入独立CSS文件,支持多页复用、浏览器缓存和团队协作,适合大型项目;2.内部样式表将样式写在head的style标签内,仅作用于当前页面,适用于单页或临时开发;3.正式项目优先使用外部样式表,内部样式表用于调试或特定补充。
-
JavaScript对象常用{}字面量声明,访问用点号或方括号;Object.defineProperty需显式设writable:true才可写;get/set为访问器属性,与数据属性互斥;Object.getOwnPropertyDescriptors用于完整复制含访问器、不可枚举属性的对象。
-
答案:移动端JavaScript手势识别依赖touch事件,通过监听touchstart、touchmove、touchend等实现滑动、长按,或使用Hammer.js库支持双击、缩放等;需注意避免事件冲突与体验影响。
-
:focus颜色不生效主因是样式被覆盖或UA默认样式干扰,需检查计算样式、清除outline、提高选择器权重;:valid/:invalid依赖HTML5验证属性触发;:placeholder-shown用于精准区分空/非空状态。
-
答案是使用CSS的:checked与::after可实现无JS的图标切换,通过隐藏输入框,利用label的伪元素绘制三线图标,选中时用transform和box-shadow变化为叉形。
-
部署流水线是代码提交到生产部署的自动化流程,涵盖代码拉取、依赖安装、构建、静态检查、测试、打包及多环境部署;通过GitHubActions等CI/CD工具实现,结合DevOps文化提升交付效率与质量。
-
Promise是一次性状态容器,仅含pending/fulfilled/rejected三种单向流转状态;.then是映射函数,返回值决定下一级输入;.catch不捕获未链式处理的错误;Promise.all全成功才返回,allSettled则收集所有结果。
-
CSS变量统一徽章背景色是最直接、可维护性最强的解法:在:root定义语义化颜色变量(如--badge-success),各徽章类通过var()引用,支持fallback、主题切换及运行时更新,需注意声明顺序与嵌套限制。
-
两栏布局关键在正确使用float或flex:float需触发BFC、显式设宽、避免float:right;flex需父容器设display:flex、左栏flex:00200px、右栏flex:1并加min-width:0;响应式推荐flex-direction:column切换。
-
可通过CSS移除或替换图片背景:一、设background-color:transparent;二、img元素用background:none和background-image:none;三、容器设background:transparent并配合object-fit;四、用filter:none重置滤镜;五、mask-image配合灰度遮罩图精准剔除背景。
-
JavaScript设计模式是解决常见工程问题的可复用结构方案;单例靠延迟初始化+闭包/静态属性拦截实现唯一实例,工厂用于隔离创建逻辑变化点,模块模式侧重闭包封装私有状态与接口暴露。
-
Array.prototype.flat()是现代环境首选,支持深度控制和空位处理;旧环境可用reduce+concat手写递归实现,需用Array.isArray安全判断;慎用JSON黑魔法,应明确数据建模。
-
最简洁可靠的左中右三段式布局是给中间元素设margin:0auto,容器display:flex且不设justify-content;左右元素默认贴边,无需额外样式。