-
使用视口单位和clamp()函数可实现响应式字体,如font-size:clamp(1rem,2.5vw,2.5rem),使文字在不同屏幕平滑适配,兼顾可读性与响应性。
-
Promise是JavaScript中用于处理异步操作的机制,其核心作用是解决“回调地狱”问题,通过链式调用使代码更清晰易维护。Promise对象有三种状态:pending(进行中)、fulfilled(已成功)、rejected(已失败),且状态一旦改变便不可逆。常用方法包括.then()处理成功、.catch()捕获错误、.finally()无论结果如何都执行;此外还有Promise.all()(所有Promise成功才成功)、Promise.race()(首个解决即决定结果)、Promise.res
-
JavaScript事件循环是单线程通过调用栈、宏任务队列和微任务队列协作实现异步非阻塞的核心机制;同步代码入栈执行,异步回调由WebAPI处理后按宏/微任务优先级进入对应队列,每轮先清空微任务再取一个宏任务。
-
静态方法用static关键字定义,属类本身,不可访问this和实例属性;如Utils.formatDate();误用会导致内存浪费或undefined错误;静态方法间调用用类名或this.constructor。
-
真正掌握JavaScript函数需在真实场景中反复实践,核心难点是闭包生命周期、this绑定时机及高阶函数执行上下文丢失;函数作为一等公民体现为赋值、传参、返回、动态创建;常见错误包括箭头函数this失绑、forEach无法break;高阶函数用于抽象重复逻辑如withLoading、debounce;闭包本质是保留定义时作用域链;应避免Function构造器,优先用策略对象或白名单解析器。
-
overflow:hidden裁剪溢出内容并禁用滚动,非仅隐藏滚动条;可用于图片圆角裁切,但会触发BFC、影响动画性能及焦点管理,需配合其他属性保障可访问性。
-
JavaScript正则表达式通过字面量(/pattern/flags)或构造函数(newRegExp())创建,支持g、i、m、s等标志;常用方法包括match()、test()、replace()、split();需避免回溯爆炸、预编译复用、优选test()判断存在性。
-
本文介绍在JavaScript中如何利用解构赋值和函数返回值,简洁、安全地批量更新已有对象的多个属性,避免手动逐个赋值,提升代码可读性与可维护性。
-
JavaScript日期操作需警惕时区陷阱:newDate()返回本地时间,ISO字符串默认UTC解析;避免字符串解析歧义,推荐数值构造或补全时间;格式化应手动拼接而非依赖toLocaleDateString();日期加减优先用毫秒计算;相对时间显示推荐Intl.RelativeTimeFormat。
-
JavaScript模块化关键在正确使用ESM与CommonJS:二者不兼容,混用报错;ESM的import须顶层声明,动态加载需用import();exportdefault与具名export导入方式严格对应;Node.js中ESM需启用"type":"module"且路径必须带后缀。
-
JavaScript与WebAssembly集成旨在结合两者优势:JavaScript负责DOM交互,Wasm处理高性能计算。通过fetch加载Wasm模块,共享线性内存传递数据,Emscripten生成胶水代码简化开发,并支持Wasm调用JS实现双向通信,提升Web应用性能。
-
浮动导致父容器高度塌陷是因浮动元素脱离文档流,解决需让父容器重新感知高度;overflow:hidden触发BFC但会裁剪溢出内容,clearfix更可控且无副作用,现代推荐直接用flex布局。
-
flex-wrap是控制Flex项目是否换行的属性,默认nowrap;当表单项多、容器窄时,设为wrap才能折行实现响应式布局,并需配合justify-content和flex设置确保对齐与宽度分配。
-
Promise是对异步操作的抽象封装,具有pending、fulfilled、rejected三种不可逆状态;pending不可跳过,状态单向流转;async/await错误处理更安全;Promise.all()全有或全无,Promise.allSettled()允许部分失败;未捕获拒绝会导致内存泄漏。
-
CSS中无mask-color属性,可通过background-color与mask-image结合、filter滤镜、SVG内联fill着色或伪元素叠加实现遮罩颜色效果。