javascript - 将所有本地范围变量分配给另一个对象

时间:2014-08-10 20:05:33

标签: javascript debugging scope v8

是否可以创建一个每次在本地范围内定义变量时调用的侦听器?要求是每当创建变量时,我需要将这些变量附加/克隆/复制到更大范围内的对象(比如窗口)。我只需要用于调试目的。如果这样的监听器不存在,还有其他方法可以做同样的事吗?可以在js引擎级别(如v8或其他)上完成相同的操作吗?

1 个答案:

答案 0 :(得分:0)

您可以随时做的一件事是在代码中为全局变量添加显式赋值

//original code
var x = 10;
x = 1 + 2;

//Transformed version
var x = (window.x = 10);
x = (window.x = 1 + 1);

如果你想避免编辑源代码,你可以做的一个技巧是使用条件断点。对于具有x分配的每一行,创建一个条件断点,其中条件首先赋值window.x,然后返回true。