这里如果作为一个非dom对象就不会引起内存泄漏么?
比如
function wo(){
var x="我呀";
return function(){
return x;
}
}
var box=wo();
alert(box());
这个box如果不置为Null 也会内存泄露的吧?
这里如果作为一个非dom对象就不会引起内存泄漏么?
比如
function wo(){
var x="我呀";
return function(){
return x;
}
}
var box=wo();
alert(box());
这个box如果不置为Null 也会内存泄露的吧?
var box=wo();
alert(box());
这个box如果不置为Null 也会内存泄露的吧?
这样不会存在内存泄漏,因为alert(box());调用了一次,之后没有引用,就被垃圾回收了;
而:你看的书上的,是在onclick事件里,这个事件是一直在的,不会被垃圾回收;
我个人认为,这个是会发生内存泄漏的
你 return 出来的 function 中引用到了其父级函数作用域中的变量
后来被赋值的 box
是一直可以访问 x
的,变量 x
也将一直存在下去
因为引擎不知道 box
什么时候会再次被调用,它就认为 x
的存在是有价值的,不会将其回收
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
链接地址