Javascript
天下一场夢
打破幻想和实现目标的最好途径就是多去尝试。
展开
-
js 回收机制 标记-清除
标记-清除(Mark-and-Sweep)是垃圾回收(Garbage Collection, GC)算法中的一种基本方法,用于自动管理内存,尤其是在一些高级编程语言如Java、Python中应用广泛。该算法分为两个主要阶段来确定和回收不再使用的内存空间,即不再被任何变量引用的对象所占用的内存。原创 2024-06-21 10:31:27 · 240 阅读 · 0 评论 -
javascript的回收机制有哪些
JavaScript 的垃圾回收机制主要目的是自动管理内存,确保不再使用的变量和对象所占用的内存能够被释放,从而避免内存泄漏。:为了减少标记-清除算法导致的长时间暂停,垃圾回收器可以分步骤进行标记过程,每次只处理一部分工作,让垃圾回收与JavaScript代码的执行交替进行。:垃圾回收器会在浏览器空闲时(比如没有JavaScript代码执行或用户交互)执行回收任务,以减少对用户体验的影响。通过这些机制的组合运用,JavaScript引擎能够在保持高效执行的同时,有效地管理内存资源。原创 2024-06-21 09:44:07 · 239 阅读 · 0 评论 -
前端html文字差异比较插件 diff使用教程
jsdiff库以其灵活性和易用性,成为了许多文本差异处理需求的首选工具。无论是开发代码对比工具、文本编辑器的修订历史功能,还是简单的字符串对比展示,jsdiff都能提供强大且高效的支持。原创 2024-06-14 17:21:38 · 367 阅读 · 0 评论 -
setTimeout和setInterval的区别
主要取决于具体需求,是否需要一次性执行还是持续周期性的执行任务。在JavaScript 中,原创 2024-06-14 10:09:59 · 414 阅读 · 0 评论 -
javascript html片段转换为纯文本
在JavaScript中,要从HTML字符串中提取纯文本内容,可以使用DOMParser API来解析HTML,然后遍历DOM元素获取文本节点。函数首先使用DOMParser将输入的HTML字符串解析成一个文档对象,然后通过递归函数。遍历文档中的所有节点,收集并拼接文本节点的内容,最终返回这段HTML的纯文本形式。原创 2024-06-13 10:09:08 · 559 阅读 · 0 评论 -
window.top和window.self 分别是什么
此属性指向浏览器窗口的最顶层窗口,即没有任何框架包含它的窗口。是等价的,都是对当前上下文窗口的一个引用。在没有特殊框架结构的情况下,则总是指向执行当前脚本的窗口实例,提供了一种明确引用当前上下文的方式。引用的是同一个对象,但如果存在嵌套框架,即使当前窗口不是顶层窗口,总是指向当前正在执行JavaScript代码的窗口对象。: 此属性是对当前窗口自身的引用。不论当前窗口是不是顶层窗口,,因为它本身就是顶层窗口。会穿透所有嵌套的层次,指向最外层的窗口。帮助你获取或操作最顶级的浏览器窗口,而。原创 2024-06-04 09:37:08 · 512 阅读 · 0 评论 -
globalThis在各个环境下是什么
特性是在 ECMAScript 2019 (ES10) 中标准化的,因此在现代浏览器和Node.js版本中都应得到支持。总是指向当前环境的全局对象。值的属性,它提供了一个在所有JavaScript执行环境中都能稳定访问全局对象的标准方法。可以避免因环境差异而导致的代码编写复杂性,提高代码的可移植性。无论代码在什么环境下运行,是一个在JavaScript中用于访问全局作用域中的。原创 2024-06-04 09:34:39 · 341 阅读 · 0 评论 -
简要说明下.umd.js文件的作用
它的设计目的是为了让一个JavaScript模块能够在各种环境中无缝运行,无论是浏览器环境、Node.js环境,还是其他支持AMD(异步模块定义)、CommonJS或直接在全局作用域中使用的环境。文件,就能确保模块在不同平台和项目中都能正确工作,无需为每个环境单独提供不同版本的代码,大大提高了代码的复用性和维护性。UMD通过在代码中包裹一层兼容性逻辑,自动检测当前环境的模块加载机制,然后相应地导出或定义模块。这样,开发者只需要维护一个。原创 2024-06-04 09:20:45 · 235 阅读 · 1 评论 -
javascript,什么是ESM
ESM是ECMAScript Modules(ECMAScript模块)的缩写,它是JavaScript语言规范的一部分,正式引入于ECMAScript 2015(也称为ES6)标准中。ESM代表了一种官方的、标准化的模块化编程方式,旨在解决JavaScript长期以来在模块组织和加载方面的问题。原创 2024-06-04 09:09:57 · 179 阅读 · 1 评论 -
javascript的AMD模式
AMD(Asynchronous Module Definition,异步模块定义)是一种JavaScript模块化开发的规范,它主要应用于浏览器环境,用于解决浏览器端的模块化和异步加载问题。AMD规范由James Burke等人在开发Dojo Toolkit的过程中提出,后来通过RequireJS这样的库得到了广泛推广和应用。原创 2024-06-04 09:02:59 · 643 阅读 · 0 评论 -
.mjs文件如何引入package.json文件使用version变量
文件在Node.js中的使用涉及到模块系统的不同处理,确保你的Node.js环境支持ES模块,并且在执行脚本时正确使用。文件,将其内容解析成一个JavaScript对象,并返回。然后,调用这个函数并打印出版本号。文件内容,然后解析JSON字符串得到对象。或者在Node.js项目根目录下有正确的。语句来导入Node.js的内置模块。这段代码首先定义了一个异步函数。是ES模块格式,你需要使用。(路径处理)来读取文件。,它读取当前目录下的。原创 2024-06-03 14:51:14 · 291 阅读 · 1 评论 -
js文件 .mjs和.umd.js结尾的文件的区别
UMD(Universal Module Definition)是一种模块定义方式,旨在使JavaScript模块能够同时在AMD(Asynchronous Module Definition)、CommonJS(如Node.js环境)以及其他不支持模块加载器的环境中工作。文件通常包含了一段包装代码,它检测当前环境支持哪种模块加载机制,并相应地导出模块。这个扩展名专为ES模块(ECMAScript Modules)设计,表示这是一个原生的ES模块文件。需要Node.js开启对ES模块的支持,可能需要。原创 2024-06-03 12:37:22 · 610 阅读 · 1 评论 -
js中事件的捕获和冒泡的区别
方向差异:事件冒泡是从事件发生的目标元素向外传播到不具体的节点,而事件捕获则是从不具体的节点向内传播到目标元素。处理时机:事件捕获发生在事件到达目标元素之前,而事件冒泡则在此之后。实际应用:根据需要选择合适的事件传播机制,通常事件冒泡更常用,但特定场景下事件捕获提供了一种更精细的控制手段。在实际开发中,开发者可以根据需求选择或结合使用这两种机制,以实现对事件的精确控制。原创 2024-05-29 16:43:17 · 439 阅读 · 0 评论 -
window.addEventListener 用法
是JavaScript中用来为DOM元素(在本例中是浏览器窗口window)添加事件监听器的方法。这对于响应用户操作(如点击、滚动等)或页面/浏览器的特定状态变化非常有用。下面是如何使用。原创 2024-05-29 16:21:30 · 651 阅读 · 0 评论 -
js 不同源的情况下 iframe还可以通讯吗
是的。即使在不同源的情况下,iframe之间仍然可以通过API进行通信。方法允许来自不同源的脚本采用异步方式进行有限的通信,这对于实现跨域通信非常有用。原创 2024-05-29 11:41:45 · 367 阅读 · 0 评论 -
js 如何封装一个iframe通讯的sdk
在JavaScript中,封装一个用于iframe间通信的SDK,可以利用和message事件监听来实现跨域通信。原创 2024-05-29 11:26:10 · 504 阅读 · 0 评论