草庐IT

垃圾包

全部标签

javascript - 如何在 IE 中强制执行 Javascript 垃圾回收?在 AJAX 调用和 DOM 操作之后,IE 运行非常缓慢

我有一个带有链式下拉菜单的页面。从第一个select选择一个option填充第二个,从第二个select选择一个option返回一个表在页面上的空div上使用innerHtml函数匹配结果。问题是,一旦我做出选择并将大量数据带到页面上,页面上所有后续的Javascript运行都异常缓慢。似乎我通过AJAX拉回以填充div的所有数据仍在占用大量内存。我尝试在调用innerHtml后将包含AJAX结果的返回对象设置为null但没有成功。当我使用Javascript向DOM中插入大量数据时,Firefox、Safari、Chrome和Opera都没有表现出性能下降,但在IE中却非常明显。为了

javascript - 如何记录我的 javascript 代码中垃圾收集的内容?

我构建了一个应用程序,它浪费了40%的时间来收集垃圾,我已经无计可施地试图找出垃圾的来源。我已经在我自己的代码中收集了所有可能的问题,但它仍然存在。我开始怀疑某些第三方代码是问题所在,我想知道我是否能以某种方式追踪什么正在被垃圾收集。如果有特定于Chrome的答案,那就太好了,但此时我会采取任何措施。 最佳答案 在Chrome中,我将从以下内容开始:开发者工具>配置文件获取堆快照使用应用程序再次拍摄堆快照在比较模式下检查第二个快照以下链接可能有用:http://addyosmani.com/blog/performance-opti

Javascript 如何创建一个无分配动画循环来避免垃圾收集器?

我正在尝试构建流畅的60fps动画浏览器javascript循环。我注意到垃圾收集器启动并向动画帧添加可变的非零时间。我首先跟踪代码中的分配,然后将循环自身隔离开来。我正在使用requestAnimationFrame并发现在所谓的“空”循环中它仍然会导致每次迭代分配并触发垃圾收集器。令人沮丧的是,这似乎也发生在其他循环机制setInterval和setTimeout中。下面我整理了一些jsfiddles和屏幕截图来演示示例“空循环”。所有样本均来自约5秒的时间线。此时,我正在寻找最小化垃圾回收的最佳解决方案。从下面的示例来看,requestAnimationFrame似乎是这方面最差

javascript - 从全日历中删除元素(通过拖到垃圾桶)

我有一个将外部元素拖到上面的完整日历。我对jquery比较陌生。我不太清楚如何获取被拖到“垃圾桶”图标上的对象的ID。我只是想将日历中的项目拖到图像上,当我松开鼠标时,项目就会被删除。这是我的代码......$(document).ready(function(){/*initializetheexternalevents-----------------------------------------------------------------*/$('#external-eventsdiv.external-event').each(function(){//createanE

【数据科学项目02】:NLP应用之垃圾短信/邮件检测(端到端的项目)

垃圾短信检测(端到端的项目)我们都听说过一个流行词——“数据科学”。我们大多数人都对“它是什么?我可以成为数据分析师或数据科学家吗?我需要什么技能?并不是很了解。例如:我想开始一个数据科学项目,但我却不知道如何着手进行。我们大多数人都是通过一些在线课程了解了这个领域。我们对课程中布置的作业和项目感到游刃有余。但是,当开始分析全新或未知的数据集时,我们会迷失方向。为了在分析我们遇到的任何数据集和问题时,我们需要通过不断的练习。我觉得最好的方式之一就是在项目中进行学习。所以每个人都需要开始自己的第一个项目。因此,我准备写一个专栏,带大家一起完成数据科学项目,感兴趣的朋友可以一起交流学习。本专栏是一

javascript - 5 个主要浏览器都使用哪些垃圾收集算法?

我目前正在重新考虑qooxdooJavaScript框架的对象处置处理。请看下图(A当前在范围内):diagramhttp://yuml.me/51747906.jpg假设我们要删除B。通常,我们会切断所有对象之间的所有引用。这意味着我们在示例中切断了连接1到5。这真的有必要吗?据我阅读here,浏览器使用标记和清除算法。在这种情况下,我们只需要切断引用1(与范围的连接)和5(与DOM的连接),这样会更快。但我能确定所有浏览器都使用标记清除算法或类似算法吗? 最佳答案 对于任何体面的垃圾收集器(不仅仅是标记和清除),切断连接1就足以

javascript - 通过 Javascript WeakMaps 收集垃圾的缓存

我想在JavaScript中缓存大对象。这些对象是通过键来检索的,缓存它们是有意义的。但它们不会一次全部放入内存,所以我希望在需要时对它们进行垃圾回收-GC显然知道得更多。使用其他语言中的WeakReference或WeakValueDictionary来创建这样的缓存是非常简单的,但是在ES6中我们有WeakMap,键弱的地方。那么,是否有可能制作类似WeakReference的东西或从WeakMap制作垃圾收集缓存? 最佳答案 在两种情况下,弱散列映射很有用(您的似乎适合第二种情况):希望将信息附加到具有已知身份的对象;如果该对

javascript - 好的非侵入式反垃圾邮件混淆器?

我正在尝试开发一个JavaScript电子邮件混淆器,以减少网站上列出的电子邮件中出现垃圾邮件的可能性。现在我有一个基于JavaScript的混淆器,它使用HTML编码和JavaScript的组合将混淆的电子邮件透明地转换为普通电子邮件。我的做法是:将链接中href的“mailto:”部分格式化为HTML编码,如下所示:mailto:我还对电子邮件进行了编码,将@符号替换为(a),这样电子邮件内容如下:stackoverflow(a)example.com然后我使用一些JavaScript来破译所有具有此(a)登录电子邮

javascript - Redux + ImmutableJS - 如何垃圾收集太大的商店?

我将Redux与ImmutableJS结合使用。在我的SPA(相当复杂的管理系统)中,用户经常将大量数据加载到存储中(许多表有数千行)。在打开多个页面并且存储中有太多数据后,应用程序变得非常慢,因为ImmutableJS存储可能包含数百万个条目。我怎样才能从商店中“删除”一些东西,这样数据就不会拖慢应用程序的速度?我知道这会违背其主要原则,但您还能如何解决它?使用带有例如jQuery的通用网站,这将非常容易。每次页面刷新时,所有不必要的东西都会被垃圾收集。因此,一个页面2-3千个条目是可以的,但是当打开一个新页面时,reducer加载了新数据,但仍然引用旧数据。当然,我不想强​​迫用户

javascript - Google Apps 脚本 - Gmail,永久删除垃圾桶中带有特定标签的电子邮件

我正在尝试制作一个脚本,该脚本可以立即并永久地自动删除来自特定发件人的电子邮件,因为Gmail只允许将电子邮件发送到垃圾箱30天的过滤器。请不要暗示默认过滤器就足够了,就我的情况而言,重要的是我不知道我收到了来自该发件人的电子邮件。我当前的脚本如下所示:functiondeleteForever(labelName){varthreads=GmailApp.search("in:trashlabel:"+labelName);for(vari=0;i但是,我一直无法找到使用GmailThread并将其永久删除的方法,因为不存在用于此目的的函数。我想看看是否有一种方法可以使用JavaSc