在JavaScript中查看匿名函数中的变量

时间:2012-11-21 16:31:13

标签: javascript debugging watchpoint

我想确定何时更改特定变量。我使用this code来查看我可以访问的任何对象的任何属性都取得了很大的成功,但是它可以用于这样声明的变量吗?:

$(                  // line 1
  function(){       // line 2
    var A;          // line 3
    // ... lots of code that uses A as if it were a global. I wanna see what part of this code sets A ...
  }                 // line 5999
);                  // line 6000

肯定A最终不会成为window的属性。它可能是匿名函数对象的属性,它跨越2到5999行吗?所以,如果我命名函数以便我可以引用它,我可以在watch var / prop以某种方式使用A吗?

我可以使用哪些其他方法来确定var的设置位置?

2 个答案:

答案 0 :(得分:1)

这可能看起来有点疯狂,但稍加修改,你就能看到变量指针。

(function() {
    window.ox = x = {};

    x.y = 5;
})();

alert(ox.y);

这将它拉入全局区域,并且应该允许您从全局变量ox中观察变量x。

答案 1 :(得分:0)

您不能在该变量上使用Object.prototype.watch,因为它是变量,而不是对象属性。无论其范围如何(这是您提到的匿名函数)。

如果您尝试将其用于调试目的,我相信您可以通过浏览器的开发人员工具进行观看。