![]() |
1
6
变量的作用域是函数,而不是if/else/for/while/etc.块。每次你打电话
您正在创建一个新函数(新范围)。此新函数引用
这不足以泄露内存。(
但是,你创造了一个
这个
任何人,如果我犯了什么错误,请纠正我。 对于解决方案,不要使用内部函数!
|
![]() |
2
2
虽然答案已被接受,但我认为这也可以完成这项工作:
内存泄漏的原因:在匿名函数中创建并返回一个闭包,然后保持活动,但是
未收集垃圾
自从
因此,解决方案可以简单到提供 词法范围 ,如上所示 |
![]() |
3
0
如果从链接中删除onclick属性,它会泄漏吗? 您可以尝试删除重复的onclick并用事件委托替换它。 而且,所有的变量似乎都在全局范围内——这不应该像导致您所看到的问题那样糟糕,但是无论如何,您都应该解决这个问题。 |
![]() |
4
-2
我真的不能告诉你
为什么?
据说是内存泄漏,但这段代码的功能相当复杂。这条线似乎非常可疑和多余:
把它简化一点,确定变量的范围如何:
不过,这仍然需要大量的DOM操作,在速度较慢的JavaScript引擎上可能需要一段时间。 |
![]() |
Softly · 单选按钮未按预期取值 1 年前 |
|
SlickRed · 我无法使用JS关注HTML元素 1 年前 |
![]() |
assembler · Nextjs没有处理发布请求 1 年前 |
|
BADRUM · 执行两个获取功能后,如何导航回页面? 1 年前 |
![]() |
Toniq · javascript为php保存多维数组 1 年前 |