java
-
什么是变量作用域_javascript中let和const有何区别?
JavaScript中let和const是块级作用域,var是函数或全局作用域;二者均具TDZ、不可重复声明、不挂载window等特性,但const必须初始化且不可重新赋值,推荐优先使用const。 变量作用域指的是变量在代码中能被访问的范围。JavaScript 中,let 和 const 都是块…
-
javascript的WebSocket是什么_如何实现实时双向通信?
WebSocket是浏览器与服务器间持久化全双工通信通道,通过一次Upgrade握手复用TCP连接,以帧轻量传输数据,解决轮询延迟高、开销大等问题,适用于聊天、实时通知等场景。 WebSocket 是浏览器与服务器之间建立的持久化、全双工通信通道,能真正实现客户端和服务器实时双向收发数据。它不像 H…
-
javascript中的this是什么_它的指向如何确定
this 是运行时绑定的引用,指向当前执行上下文的对象;其值取决于函数如何被调用:全局环境下非严格模式指向 window/global,严格模式为 undefined;独立调用同全局;对象方法调用时指向调用者对象;new 调用指向新实例;箭头函数无 this,继承外层。 this 是 JavaScr…
-
javascript尾调用优化是什么_如何利用它提升递归性能?
尾调用优化(TCO)是JS引擎在严格模式下对尾调用形式的递归进行栈帧复用的机制,可防栈溢出、提性能,但Chrome/Firefox/Safari等主流引擎实际未启用;尾调用指函数末尾直接返回另一函数调用且无后续计算。 尾调用优化(Tail Call Optimization,TCO)是 JavaSc…
-
javascript中的迭代器是什么_如何让对象可迭代
JavaScript迭代器是按需遍历数据的统一机制,对象需实现Symbol.iterator方法返回符合协议的迭代器对象,即具有返回{value, done}对象的next()方法。 JavaScript 中的迭代器(Iterator)是一种统一的遍历机制,它允许你按需逐个获取数据结构中的值,而不需…
-
如何遍历对象_javascript中有哪些方法?
JavaScript对象遍历需先获取键、值或键值对数组,常用Object.keys()和Object.entries()配合forEach或for…of;for…in需hasOwnProperty过滤继承属性;Reflect.ownKeys()可获取含Symbol的所有自身键…
-
JavaScript filter如何用_它如何筛选元素?
filter是JavaScript数组方法,遍历原数组并返回满足条件元素的新数组,不修改原数组;回调函数需返回布尔值,常用参数为当前元素,适用于数字筛选(如n>10)和对象筛选(如u.status===’active’)。 filter 是 JavaScript 数组的…
-
JavaScript中的剩余参数是什么_它如何收集多个参数呢
剩余参数(…)将多余实参收集为真数组,区别于非数组的arguments;必须位于参数末尾且唯一;可与固定参数共用,常用于可变函数、参数透传和替代apply。 剩余参数(Rest Parameters)是 JavaScript 中一种用三个点 … 表示的语法,用来把函数中**多…
-
JavaScript中什么是垃圾回收机制_内存泄漏场景
JavaScript垃圾回收通过标记-清除自动释放不可达对象内存,但全局变量残留、未清除定时器、未解绑事件监听器、闭包过度持有及控制台日志等会导致内存泄漏。 JavaScript 的垃圾回收机制(Garbage Collection,GC)是引擎自动管理内存的过程:它会定期识别并释放那些**不再被程…
-
javascript中如何实现插件系统?_javascript的可扩展架构如何设计?
JavaScript插件系统核心是解耦与约定:定义统一install接口、主系统提供use方法管理插件、预留钩子与能力注入、支持依赖控制与通信。需契约先行、无副作用、文档清晰。 JavaScript 中实现插件系统,核心是「解耦」与「约定」:让主系统不依赖具体插件,插件又能按统一规则注册、初始化和交…