javascript:我们如何跟踪页面中的对象总数(任何对象都将被计算在内)

标签 javascript object profiling tracking

我想跟踪页面中创建的对象总数(我正在测试/分析某些内容)。

可以这样做吗? (就像如果我按下一个按钮,如果创建了 1300 个对象,它会提醒 1300)

顺便说一句,我不是在检查当前存在多少个对象,而是在跟踪“曾经创建的”对象的总数。

我正在考虑修改Object.prototype.constructor并在那里添加一些跟踪机制,但它不是可写属性

编辑: 我想知道我是否运行了这段代码:

var Test=function(){
  return {};
};
//start tracker
new Test();
//end tracker

在//start tracker 和//end tracker 之间创建了多少个对象(我怀疑有 2 个对象,但我只是想确定一下)

最佳答案

当函数 f 作为构造函数调用时 (new f()),会创建一个新对象并作为 this 提供通话的值(value)。了解 [[Construct]] 内部方法 here .

因此,new Test() 将创建(至少)2 个对象:

  • 自动创建的对象(并绑定(bind)到 this)
  • 由对象字面量表达式 ({}) 创建的对象

关于javascript:我们如何跟踪页面中的对象总数(任何对象都将被计算在内),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5760492/

相关文章:

xcode - 如何分析 Swift 框架?

javascript - 单击时的背景颜色 - jQuery

javascript - 无法分配变量,因为类型为空?

javascript - 计算某种颜色是否属于给定颜色的同一族

javascript - 对象内部的对象

python - float() 参数必须是字符串或数字,而不是 '_sre.SRE_Match'

objective-c - 向对象发送消息?

java - 为什么 VisualVM 中的 "Total Time"列与运行时持续时间不同?

javascript - 使用 cookies、javascript 和 html 将数据从一个页面呈现到另一个页面

python - 如何在 Python 中分析内存使用情况?