javascript删除对象以防止内存泄漏
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript删除对象以防止内存泄漏,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1070字,纯文字阅读大概需要2分钟。
内容图文
![javascript删除对象以防止内存泄漏](/upload/InfoBanner/zyjiaocheng/946/15ebe970ec8740079b411cc0bb7c2bed.jpg)
这是我的代码,不知道是否对防止内存泄漏有好处?帮助以及如何测试内存泄漏?
var Test = function () {
this.ar = [];
this.List = function () {
return this.ar;
}
this.Add = function (str) {
this.ar.push(str);
}
}
采用:
var t = new Test();
t.Add("One");
t.Add("Two");
t.Add("Three");
alert(JSON.stringify(t.List()));
t = undefined;
alert(JSON.stringify(t.List() ));
解决方法:
将t设置为undefined将清除对该对象的引用.如果您的代码中没有对该对象的其他引用,则垃圾回收器实际上将释放该Test()对象.这就是javascript中的工作方式.您无需删除对象,只需清除对其的所有引用即可.当所有引用都消失时,该对象可用于垃圾回收.
javascript中实际的delete关键字仅用于从对象中删除属性,如delete t.list中一样.
不同的浏览器有不同的工具可用于跟踪内存使用情况.我知道的用于测试的最通用的黑盒方式是反复运行一个循环,在该循环中,您使用某种setTimeout将非常大的对象(我经常使用大字符串)分配给测试(以消耗大量内存) ()在一定数量的运行之间(让垃圾收集器有一些循环),然后只需查看浏览器的整体内存使用情况即可.只要随着执行越来越多的运行而使整体内存使用率没有增加,那么您就不会有明显的泄漏.
各个浏览器可能具有更全面的测量工具. Chrome浏览器的信息here.
内容总结
以上是互联网集市为您收集整理的javascript删除对象以防止内存泄漏全部内容,希望文章能够帮你解决javascript删除对象以防止内存泄漏所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。