草庐IT

memory-management

全部标签

javascript - `delete` 在 JavaScript 中非常有用的一些用例是什么?

我们在这里有一些问题以更抽象的方式讨论删除,但我正在寻找何时可以使用delete的实际示例,而不是做一些事情,例如将属性设置为为空或未定义。Thedeleteoperatordeletesapropertyofanobject.什么地方面临挑战,delete是最佳解决方案,而不是其他解决方案? 最佳答案 将对象用作HashMap时,您可以使用以下方法迭代对象的属性:for(varkeyinobj){//...}如果该对象的某些属性设置为null,它们的键将包含在那里。通过使用delete,您可以完全删除他们的key。

javascript - 在 Javascript 中,我应该在加载新实例后删除上一级别的实例吗?

我制作了一个包含许多小关卡的HTML5游戏。当玩家到达门口时,会加载另一个关卡。当一个关卡正在加载时,它基本上只是将所有实例数组设置为[],然后通过创建事物的新实例将内容插入其中,例如:enemies=[]//thishaspreviouslybeenfullofpointersfromtheoldlevelfor(i=0;i但是,我注意到仅仅设置一个充满指向[]的指针的数组并不会真正删除实例!那么,javascript会自动执行此操作吗?还是我必须自己删除每个实例? 最佳答案 如果数组中的对象不再被任何地方引用,那么它们将被垃圾回

javascript - Node/npm : How to manage globally installed devDependencies

我正在构建一个带有应该全局安装的devDependencies的Node模块,例如jasmine-node和jshint。我本质上需要的是能够在我的makefile/npm脚本部分引用它们的二进制文件以运行测试、lint等。换句话说,我不希望以编程方式require()它们。在四处挖掘之后,我仍然对如何处理这个问题感到困惑:1)我的第一个方法是假设这些模块将全局安装,在我的模块文档中阐明这一点并将它们的二进制文件引用为全局变量——即期望它们全局可用。这与这条建议冲突Makesureyouavoidreferencinggloballyinstalledbinaries.Instead,

javascript - 为什么 Javascript `iterator.next()` 返回一个对象?

帮助!在用C#编程了很长一段时间后,我开始喜欢上Javascript,但我一直在学习喜欢可迭代协议(protocol)!为什么Javascript采用protocol需要为每次迭代创建一个新对象?为什么有next()返回一个属性为done的新对象和value而不是采用像C#IEnumerable这样的协议(protocol)和IEnumerator它以需要两次调用为代价不分配任何对象(一次调用moveNext以查看迭代是否完成,第二次调用current以获取值)?是否有底层优化跳过由next()返回的对象的分配??很难想象,因为iterable不知道返回后如何使用该对象...生成器似乎

javascript - 在这种情况下,数组大小在 javascript 中是否重要?

每当在页面上单击相应的按钮时,我都会使用数据库中的项目ID在javascript中创建一个数组。每个数组条目将存储一个自定义对象。特定数据页的数据库ID可以从任何数字开始,例如80123到80223。所以数组中的第一个条目将类似于arr[80123]。现在,当我检查数组的长度时,它会显示80123!尽管其中只有1个元素,但我考虑过使用关联数组或字符索引数组,但它们缺少我需要的一些基本排序操作。现在我的问题是“如果数组中只有1个元素但数组的长度为80123,数组实际会消耗多少内存?”更多信息...基数不断变化80123只是一个例子。我使用的代码如下:functionToggleActio

javascript - C# 和 Javascript 之间的性能和内存差异?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭6年前。Improvethisquestion我们有一个C#winforms应用程序,它使用大量对象实例、float[]数组和对象引用来模拟3D地球和世界状态,以表示世界状态和对象之间的关系。我们被要求将这个软件迁移到网络并用Javascript重新实现它。我知道C#会被本地代码取代,但听起来好像近年来Javascript性能也有了巨大进步。我想知道与.NET或其他以native性能执行的语言相比,是否有关于Javascript在对象和数组的原始数据

javascript - Firefox 在 for 循环中抛出 js 错误 "allocation size overflow"

下面是我的代码相同的代码可以在本地服务器上运行,但不能在实时运行。htmlC="";htmlC+='';for(i=1;i"+i+"";}else{htmlC+=""+i+"";}}htmlC+='';我试过寻找无限循环但没有成功。非常相同的代码在本地服务器上运行。 最佳答案 以这种方式使用字符串连接通常不是一个好主意,尤其是当您不知道要执行的迭代次数时。每次连接字符串时,都会重新分配适合新字符串所需的内存,并且需要对旧字符串进行垃圾回收(出于性能原因,这甚至可能不会在循环期间完成)varhtmlBuffer=[];htmlBuff

javascript - 使用 JQuery/JavaScript 导致内存泄漏的常见方法有哪些?

我的问题假设您正在创建一个将“长时间”显示的网页。我很好奇在这种情况下使用JQuery/JavaScript时会导致内存泄漏的一些常见问题是什么?例如,当您对元素集合调用$.remove()时,内存方面会发生什么情况?谢谢! 最佳答案 JavaScriptusesgarbagecollectiontoreclaimthememoryoccupiedbystrings,objects,arrays,andfunctionsthatarenolongerinuse.Thisfreesyou,theprogrammer,fromhavin

JavaScript - 内存友好的脚本

在JavaScript中是否有类似内存友好脚本的东西?我应该知道的某些原则?我问这个是因为我有一个网站,其中#div填充了大量数据,我使用原始.innerHTML=i_hold_lots_of_data;我想知道code>.innerHTML='';与C中的free()具有相同的效果吗?所以我的问题可以缩小为:在内存管理方面,是否有处理JavaScript中大字符串的最佳实践? 最佳答案 如果您想深入了解您的内存配置文件,您应该使用GoogleChrome控制台(选项卡配置文件)等工具。它显示了哪些对象使用了多少内存。一般来说,您应

javascript - 我怎样才能知道有多少内存分配给了一个javascript对象?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:JavaScriptobjectsizeHowtomeasurememoryusageandefficiency?我猜答案可能是“你不能”,但是有什么办法可以查看在DOM/javascript环境中为每个对象分配了多少内存?有哪些工具?它是否因浏览器而异?如果答案确实是“你不能”,谁能解释为什么不能?