java
-
什么是javascript事件冒泡_如何阻止事件传播的默认行为
事件冒泡是指事件从目标元素逐级向上传播至document的过程;可通过stopPropagation()阻止冒泡,preventDefault()阻止默认行为,二者作用不同且可共存。 JavaScript 事件冒泡是指当一个元素上的事件被触发时,该事件会从目标元素逐级向上传播到其父元素,直到 doc…
-
javascript的Set是什么_如何存储唯一值?
Set 是 JavaScript 中存储唯一值的内置对象,自动去重且对 NaN 和 +0/-0 有特殊处理;支持 add、has、delete 等操作,可与数组互转实现快速去重,遍历方式包括 for…of、forEach 及 keys/values/entries。 Set 是 Java…
-
javascript变量有哪些类型_怎样正确声明和使用它们?
JavaScript变量无类型,值有类型;含7种原始类型(string、number、boolean、null、undefined、symbol、bigint)和对象类型(null除外);推荐用const/let声明,查类型用合适方法,比较优先===。 JavaScript 变量本身没有“类型”,真…
-
javascript的Math对象是什么_如何使用数学函数?
Math 是 JavaScript 的内置静态对象,提供数学常量(如 Math.PI、Math.E)、数值处理方法(round、floor、ceil、trunc)、幂对数开方(pow、sqrt、cbrt、log)、随机数(random)及三角函数(sin、cos、hypot)等,所有成员均以 Mat…
-
javascript虚拟DOM是什么_它为什么能提升渲染性能?
虚拟DOM是用JavaScript对象模拟真实DOM的性能优化策略,通过内存中构建JS对象树、diff算法精准定位变更、批量更新减少重排重绘,并支持跨平台复用。 虚拟DOM是用JavaScript对象模拟真实DOM结构的一套机制,它本身不是浏览器API,而是一种性能优化策略。 虚拟DOM本质是一个内…
-
javascript Worker怎么用_如何实现多线程编程来避免界面阻塞?
Worker 是浏览器提供的多线程机制,用于在后台线程执行耗时任务以避免阻塞主线程;需独立 JS 文件,通过 postMessage/onmessage 通信,数据经序列化复制传递。 JavaScript 的 Worker 是浏览器提供的多线程机制,它让耗时任务(如大量计算、数据处理、加密解密)在后…
-
javascript如何实现观察者模式_如何编写
观察者模式定义对象间一对多依赖关系,当被观察者状态改变时通知所有观察者更新;核心为Subject(维护列表并提供订阅/退订/通知方法)与Observer(响应变化的函数或含update方法的对象)。 观察者模式(Observer Pattern)在 JavaScript 中非常常用,本质是定义对象间…
-
javascript中如何实现异步编程_回调函数和Promise有什么区别?
JavaScript异步编程核心是避免主线程阻塞,回调函数易致“回调地狱”且错误处理繁琐,Promise通过状态管理、链式调用和统一错误处理(.catch)提升可读性与组合性,内部仍基于回调但已标准化封装。 JavaScript 中异步编程的核心目标是避免阻塞主线程,让耗时操作(如网络请求、文件读取…
-
javascript的密码学怎么做_如何实现加密和签名
JavaScript密码学应优先使用Web Crypto API(浏览器)或Node.js crypto模块(服务端),禁用手写逻辑或CryptoJS;推荐AES-GCM对称加密、RSA-OAEP混合加密及ECDSA签名,密钥须安全生成与管理。 JavaScript 的密码学实现主要依赖浏览器原生的…
-
javascript如何发送HTTP请求_fetch和axios有什么区别
fetch是浏览器原生API,轻量简洁但需手动处理cookie、错误、JSON序列化等;axios是功能完备的第三方库,内置拦截器、超时、自动JSON处理等,适合复杂需求。 JavaScript 发送 HTTP 请求主要靠 fetch(原生 API)和 axios(第三方库),两者都能发 GET/P…