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