我目前正在使用 FireBug 来查看 hypem 如何向其传送内容以允许其 Flash 播放器工作(特别是播放按钮功能)。我发现 trackList
变量填充了数据,但我不知道它设置在哪里。
我如何跟踪此集合何时/何地被修改?我可以在其中添加一个 watch ,但不知道如何设置它。
仅供引用,我这样做是因为我想要其中的一些功能并且想了解他们是如何做到这一点的。
最佳答案
下面是如何使用 defineProperty
来实现的。在我的示例中,每次分配 window.$
时,我都会记录日志以及调用堆栈。当然,除了记录之外,您还可以触发 debugger;
或执行其他操作。
Object.defineProperty(window, "$",
{
set: function(val) {
console.log("$ was set to '",val,"' at ",Error().stack);
this.$internal=val;
},
get: function() { return this.$internal; }
});
关于javascript - 使用 FireBug 跟踪在 Javascript 中设置变量的时间/位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3300269/