有没有办法在执行Javascript程序的某个时刻转储环境记录?
我想检测两个变量或对象属性是否指向同一个地址,从而可能产生"副作用"。 我认为一种方法是从环境记录中获取绑定分配地址。
欢迎任何工具。
感谢。
答案 0 :(得分:0)
在Firefox / Spidermonkey中,您正在寻找的东西称为GC/CC logs。您可以从浏览器(例如,通过about:memory)或命令行JS shell转储它。
当你这样做时,你会发现一个典型的JS程序有一个相当大而复杂的对象和属性图,所以找到你感兴趣的别名案例会很难。
另一方面,如果您有 object 的引用列表,那么您对===
进行检查就足够了。 (另见Equality comparisons and sameness on MDN。