区别
-
javascript中的防抖和节流是什么_它们分别适用于什么场景
防抖是“等用户停止触发后执行一次”,节流是“固定时间间隔内最多执行一次”;二者均用于优化resize、scroll、input等高频事件的性能损耗,防抖适用于搜索输入、窗口调整等需等待完成的场景,节流适用于滚动加载、鼠标移动等需持续反馈的场景。 防抖(Debounce)和节流(Throttle)是 …
-
如何用JavaScript操作HTML元素?
JavaScript操作HTML元素的核心是先用querySelector等方法获取元素,再通过textContent、style、classList等属性或addEventListener等方法修改内容、样式、属性及绑定事件。 用 JavaScript 操作 HTML 元素,核心是先“找到”元素,…
-
javascript的XMLHttpRequest是什么_它与Fetch API有何区别?
XHR是老式API,支持细粒度控制与事件驱动;Fetch是现代Promise-based替代方案,简洁但需AbortController中断且默认不带Cookie。新项目优先用Fetch,老系统或需进度控制时仍用XHR。 XMLHttpRequest(XHR)是浏览器内置的一个老式 API,用于发起…
-
什么是变量作用域_javascript中let和const有何区别?
JavaScript中let和const是块级作用域,var是函数或全局作用域;二者均具TDZ、不可重复声明、不挂载window等特性,但const必须初始化且不可重新赋值,推荐优先使用const。 变量作用域指的是变量在代码中能被访问的范围。JavaScript 中,let 和 const 都是块…
-
JavaScript中的剩余参数是什么_它如何收集多个参数呢
剩余参数(…)将多余实参收集为真数组,区别于非数组的arguments;必须位于参数末尾且唯一;可与固定参数共用,常用于可变函数、参数透传和替代apply。 剩余参数(Rest Parameters)是 JavaScript 中一种用三个点 … 表示的语法,用来把函数中**多…
-
JavaScript中WeakMap和Map区别_弱引用优势
WeakMap与Map的核心区别在于键类型和引用强度:WeakMap键只能是对象且为弱引用,支持自动GC清理;Map键可为任意类型且为强引用。WeakMap不可遍历、无size属性,仅提供set/get/has/delete方法,适用于私有状态存储等需避免内存泄漏的场景。 WeakMap 和 Map…
-
javascript计时器如何使用_setTimeout和setInterval有何区别?
setTimeout只执行一次,setInterval周期性重复执行;前者适用于延时操作如防抖,后者用于轮询或倒计时,但需clearInterval手动清除以防内存泄漏。 JavaScript 中的 setTimeout 和 setInterval 都是用来延迟或周期性执行代码的计时器函数,核心区别…
-
javascript如何实现发布订阅_它与观察者模式有何不同
发布订阅模式通过事件中心实现发布者与订阅者完全解耦,核心是维护事件名到回调数组的映射,支持on、emit、off操作;而观察者模式中被观察者直接持有观察者列表,耦合度更高。 JavaScript 中的发布订阅模式(Pub/Sub)是一种松耦合的事件通信机制,核心是通过一个“事件中心”来中介发布者和订…
-
怎样处理javascript异步流程_Promise与async/await有何区别?
Promise 是表示异步操作状态的对象,有 pending/fulfilled/rejected 三种不可逆状态;async/await 是其语法糖,使异步代码更同步化、错误处理更直观、调试更方便,二者底层一致但适用场景不同。 Promise 和 async/await 都是用来处理 JavaSc…
-
javascript中的WeakMap是什么_与Map有何不同?
WeakMap 是键必须为对象且弱引用的集合,不阻止垃圾回收,不可遍历、无 size 属性,适用于绑定元数据而不影响对象生命周期。 WeakMap 是 JavaScript 中一种特殊的键值对集合,它的核心特点是:键必须是对象,且对键的引用是“弱”的 —— 不会阻止垃圾回收器(GC)回收该对象。这使…