0
  1. 问题是为什么要调试成函数,我们怎么知道函数引用的闭包内容?

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

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

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

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

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


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

谢谢你。

4

1 回答 1

1

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

在 JavaScript 中调试内存泄漏的工具

如何在 firebug 中跟踪或调试 javascript 闭包

在 javascript 中调试闭包

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

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

于 2012-07-07T13:38:30.163 回答