Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 找出对象是否仍在内存中_Javascript_Html_Dom_Error Handling - Fatal编程技术网

Javascript 找出对象是否仍在内存中

Javascript 找出对象是否仍在内存中,javascript,html,dom,error-handling,Javascript,Html,Dom,Error Handling,是否有任何方法可以确定代码中某个地方引用的javascript对象是否仍然存在并在内存中 我问这个问题的原因是我的代码变得非常复杂,我添加了一些“清理”函数,这些函数应该清除一些引用,但我不确定它们是否能正常工作。我能否以某种方式获得浏览器仍在使用的变量列表?JavaScript是完全托管的语言,不允许任何类型的删除功能。[delete关键字仅删除属性,但不从内存中删除对象] 清理任何对象的最佳方法是分配给null,以提示垃圾收集器在所有情况下都可能无法工作。 希望这有帮助,JavaScript

是否有任何方法可以确定代码中某个地方引用的javascript对象是否仍然存在并在内存中


我问这个问题的原因是我的代码变得非常复杂,我添加了一些“清理”函数,这些函数应该清除一些引用,但我不确定它们是否能正常工作。我能否以某种方式获得浏览器仍在使用的变量列表?

JavaScript是完全托管的语言,不允许任何类型的删除功能。[delete关键字仅删除属性,但不从内存中删除对象] 清理任何对象的最佳方法是分配给null,以提示垃圾收集器在所有情况下都可能无法工作。
希望这有帮助,JavaScript是完全托管的语言,不允许任何类型的删除功能。[delete关键字只删除属性,不从内存中删除对象] 清理任何对象的最佳方法是分配给null,以提示垃圾收集器在所有情况下都可能无法工作。
希望这有帮助,JavaScript是完全托管的语言,不允许任何类型的删除功能。[delete关键字只删除属性,不从内存中删除对象] 清理任何对象的最佳方法是分配给null,以提示垃圾收集器在所有情况下都可能无法工作。
希望这有帮助,JavaScript是完全托管的语言,不允许任何类型的删除功能。[delete关键字只删除属性,不从内存中删除对象] 清理任何对象的最佳方法是分配给null,以提示垃圾收集器在所有情况下都可能无法工作。
希望这有助于

在chrome中,按F12打开调试器,然后执行以下操作:

  • 单击[时间线]选项卡
  • 点击左上角的【录制】按钮;在你想要检查内存的地方,玩你的网站,打开菜单,加载页面等等
  • 当它仍在录制时,按下[垃圾收集器]并等待几秒钟,让缓冲区收集更多数据。现在再次按下[录制]按钮停止录制
  • 一旦记录停止,您将看到如何将内存分配到堆的“阶梯”
  • 重要的是,点击[garbage collection]按钮后,您应该会看到这些行返回到零。如果没有发生这种情况,那么您可能存在内存泄漏

    谷歌倡导者提供了一些非常详细的视频,解释了这个调试器功能,超出了这个简单答案的范围。这只是一个指向调试器功能的指针,您可能希望使用该调试器功能测试代码,并查找堆上的对象以及它们是否按预期清理


    您可以使用[profiles]选项卡进一步分析对象。

    在chrome中,按F12键打开调试器,然后执行以下操作:

  • 单击[时间线]选项卡
  • 点击左上角的【录制】按钮;在你想要检查内存的地方,玩你的网站,打开菜单,加载页面等等
  • 当它仍在录制时,按下[垃圾收集器]并等待几秒钟,让缓冲区收集更多数据。现在再次按下[录制]按钮停止录制
  • 一旦记录停止,您将看到如何将内存分配到堆的“阶梯”
  • 重要的是,点击[garbage collection]按钮后,您应该会看到这些行返回到零。如果没有发生这种情况,那么您可能存在内存泄漏

    谷歌倡导者提供了一些非常详细的视频,解释了这个调试器功能,超出了这个简单答案的范围。这只是一个指向调试器功能的指针,您可能希望使用该调试器功能测试代码,并查找堆上的对象以及它们是否按预期清理


    您可以使用[profiles]选项卡进一步分析对象。

    在chrome中,按F12键打开调试器,然后执行以下操作:

  • 单击[时间线]选项卡
  • 点击左上角的【录制】按钮;在你想要检查内存的地方,玩你的网站,打开菜单,加载页面等等
  • 当它仍在录制时,按下[垃圾收集器]并等待几秒钟,让缓冲区收集更多数据。现在再次按下[录制]按钮停止录制
  • 一旦记录停止,您将看到如何将内存分配到堆的“阶梯”
  • 重要的是,点击[garbage collection]按钮后,您应该会看到这些行返回到零。如果没有发生这种情况,那么您可能存在内存泄漏

    谷歌倡导者提供了一些非常详细的视频,解释了这个调试器功能,超出了这个简单答案的范围。这只是一个指向调试器功能的指针,您可能希望使用该调试器功能测试代码,并查找堆上的对象以及它们是否按预期清理


    您可以使用[profiles]选项卡进一步分析对象。

    在chrome中,按F12键打开调试器,然后执行以下操作:

  • 单击[时间线]选项卡
  • 点击左上角的【录制】按钮;在你想要检查内存的地方,玩你的网站,打开菜单,加载页面等等
  • 当它仍在录制时,按下[垃圾收集器]并等待几秒钟,让缓冲区收集更多数据。现在再次按下[录制]按钮停止录制
  • 一旦记录停止,您将看到如何将内存分配到堆的“阶梯”
  • 重要的是,点击[garbage collection]按钮后,您应该会看到这些行返回到零。如果没有发生这种情况,那么您可能存在内存泄漏