如何调试 JavaScript 闭包

How to debug JavaScript closure?

本文关键字:JavaScript 闭包 调试 何调试      更新时间:2023-09-26
  1. 问题是为什么要调试成一个函数,我们如何知道函数所指的闭包内容?

    我知道谷歌浏览器会在"范围变量"部分显示闭包,但其他浏览器呢?(更新:FF有类似的东西,但不称其为"闭包",而是像局部变量一样)

  2. 第一个问题的动机实际上是在阅读<学习jQuery,第3版> - 附录A时出现的。

    在第 355 页,作者说由于循环引用,以下代码片段将导致 IE 内存泄漏(单击处理程序是指具有 DOM 按钮的闭包内容)。

    我只是好奇是否是通过调试到关闭内容的点击处理程序来的情况。但是,谷歌浏览器没有显示任何闭包变量。

    因此,我想知道作者如何知道循环引用问题。


$(document).ready(function() {
  var button = document.getElementById('button-1');
  button.onclick = function() {
    $.print('hello');
    return false;
  };
});

谢谢。

我会建议你使用Firebug来调试你的代码。它是最好的插件,没有确切的答案,但您可能想看看这些链接。

用于调试 JavaScript 中内存泄漏的工具

如何在Firebug中跟踪或调试JavaScript闭包

在 JavaScript 中调试闭包

您甚至可以查看YouTube链接以获取更多信息。

希望我已经尝试回答一些有用的东西。