JavaScript: как мы отслеживаем общее количество объектов (будет подсчитан любой объект) на странице - PullRequest
0 голосов
/ 23 апреля 2011

Я хочу отслеживать общее количество объектов, созданных на странице (я что-то тестирую / анализирую).

Возможно ли это сделать? (например, если я нажму на кнопку, она выдаст 1300, если будет создано 1300 объектов)

Кстати, я не проверяю, сколько объектов существует в настоящее время, я отслеживаю общее количество объектов, когда-либо созданных.

Я думал об изменении Object.prototype.constructor и добавлении туда некоторого механизма отслеживания, но его свойство не доступно для записи

Edit: Я пытаюсь выяснить, запускаю ли я этот код:

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

сколько объектов создано между // начальным трекером и // конечным трекером (я подозреваю 2 объекта, но я просто хочу быть уверенным)

Ответы [ 2 ]

1 голос
/ 23 апреля 2011

Когда функция f вызывается в качестве конструктора (new f()), создается новый объект и предоставляется в качестве значения this для вызова.Прочитайте о [[Construct]] внутреннем методе здесь .

Поэтому new Test() создаст (как минимум) 2 объекта:

  • объект, который создаетсяавтоматически (и привязывается к this)
  • объекту, созданному литеральным выражением вашего объекта ({})
1 голос
/ 23 апреля 2011

Инструменты разработчика Chrome включают в себя «профилировщик кучи», который может сказать вам, сколько объектов каждого типа в настоящее время существует и сколько памяти они используют.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...