这段代码 会引起javascript 内存泄露问题吗?

科技.强 2011-01-08 01:08:09
var classA = new ClassA();
var classB = new ClassB();
classA.prototype.B=classB;
classB.prototype.getParent=function(){
return classA;//注意,这里是return classA,这里是否会引起内存泄露?
}

...全文
80 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
showjim 2011-01-08
  • 打赏
  • 举报
回复
js也内存泄露啊?

科技.强 2011-01-08
  • 打赏
  • 举报
回复
不好意思,我的代码的确有问题!去掉prototype后到底是否会内存泄露?
Mr-Jee 2011-01-08
  • 打赏
  • 举报
回复
循环引用在IE的GC机制下会产生内存泄漏
不过你的代码有问题

var classA = new ClassA();
var classB = new ClassB();
classA.prototype.B=classB;
classB.prototype.A=classA;

你试试看prototype属性有么
oolinyu 2011-01-08
  • 打赏
  • 举报
回复
这样不会
科技.强 2011-01-08
  • 打赏
  • 举报
回复
如果代码改成下面这个样子
var classA = new ClassA();
var classB = new ClassB();
classA.prototype.B=classB;
classB.prototype.A=classA;
会不会内存泄露?
科技.强 2011-01-08
  • 打赏
  • 举报
回复
classA引用了classB,而ClassB的方法中用到了classA算不算是循环引用呢?
Mr-Jee 2011-01-08
  • 打赏
  • 举报
回复
不会,为何有如此疑问呢

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧