2015-04-13 6 views
0

Есть ли способ сбросить записи об окружающей среде в какой-то момент во время выполнения Javascript-программы?Представление памяти Javascript

Я хочу определить, указывают ли две переменные или свойства объекта на один и тот же адрес, что потенциально создает «побочные эффекты». Я думаю, что один из способов сделать это - получить адрес распределения привязок из записи окружения.

Любые инструменты приветствуются.
Спасибо.

+1

Если это объекты, просто 'a == b', если они имеют тип значения - тогда нельзя влиять на другой. – zerkms

+0

https://developer.mozilla.org/en-US/ docs/Web/JavaScript/Memory_Management – XGreen

+1

[node-debug] (https://github.com/node-inspector/node-inspector), [собственный отладчик] (https://nodejs.org/api/debugger.html) или любой другой отладчик должен получить вас на вашем пути. –

ответ

0

В Firefox/Spidermonkey вещь, которую вы ищете, называется GC/CC logs. Вы можете выгрузить его из браузера (например, через about:memory) или из командной строки JS.

Когда вы это сделаете, вы обнаружите, что типичная программа JS имеет довольно большой и сложный график объектов и свойств, поэтому найти случаи сглаживания, которые вас интересуют, будет затруднительным.

Если, с другой стороны, у вас есть список объекта ссылки, которые вас интересуют, достаточно проверить с ===. (См. Также Equality comparisons and sameness on MDN.