为了账号安全,请及时绑定邮箱和手机立即绑定

javascript闭包与内存泄露

javascript闭包与内存泄露

收到一只叮咚 2019-03-07 14:15:53
这里如果作为一个非dom对象就不会引起内存泄漏么?比如function wo(){var x="我呀";return function(){    return x;}}var box=wo();alert(box());这个box如果不置为Null 也会内存泄露的吧?
查看完整描述

3 回答

?
森栏

TA贡献1810条经验 获得超5个赞

查看完整回答
反对 回复 2019-03-19
?
慕妹3146593

TA贡献1820条经验 获得超9个赞

不设置为null,那个对象就一直挂在顶级对象上


查看完整回答
反对 回复 2019-03-19
?
繁星coding

TA贡献1797条经验 获得超4个赞

我个人认为,这个是会发生内存泄漏

你 return 出来的 function 中引用到了其父级函数作用域中的变量
后来被赋值的 box 是一直可以访问 x 的,变量 x 也将一直存在下去
因为引擎不知道 box 什么时候会再次被调用,它就认为 x 的存在是有价值的,不会将其回收


查看完整回答
反对 回复 2019-03-19
  • 3 回答
  • 0 关注
  • 459 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信