Ловушки управления памятью JavaScript?

Да, T-SQL может чувствовать себя чрезвычайно примитивным время от времени, и это - вещи как они, что часто времена продвигают меня к выполнению большой моей логики на моем предпочтительном языке (таком как C#).

Однако, когда абсолютно необходимо сделать некоторые из этих вещей в SQL по причинам производительности, тогда лучший выбор состоит в том, чтобы создать функции для корпуса этих "алгоритмов".

Смотрят на эту статью. Он предлагает довольно много удобных функций SQL вдоль этих строк, что я думаю, поможет Вам.

http://weblogs.sqlteam.com/jeffs/archive/2007/01/02/56079.aspx

22
задан e-satis 5 October 2009 в 09:49
поделиться

3 ответа

По моему опыту, сборщики мусора хорошо или плохо реализованы в зависимости от браузера. Применение хороших практик объектно-ориентированного программирования - хорошее начало.

Мой единственный совет: не создавайте утечек памяти, соединяя объекты DOM и javascript (циклические ссылки, которые не будут очищены DOM и JS GC) . Эти ошибки потребляют гораздо больше памяти, чем любой объект, который вы создадите в своем приложении.

Подробнее об утечках памяти DOM / JS. http://msdn.microsoft.com/en-us/library/bb250448%28VS.85%29.aspx

10
ответ дан 29 November 2019 в 05:45
поделиться
  • В IE, по крайней мере в более старых версиях, элемент DOM сохранялся в памяти после того, как вы удалили его с помощью removeChild, если к нему был прикреплен прослушиватель событий. Единственный способ удалить его из памяти - отсоединить событие перед его удалением из DOM.
  • Если вы не часто создаете и удаляете элементы, вам не о чем беспокоиться. Если вы создаете много элементов при запуске приложения, но не создаете после этого новые объекты, не беспокойтесь об утечках памяти.
5
ответ дан 29 November 2019 в 05:45
поделиться

Я думаю, что, сохраняя данные на узлах DOM, вы можете легко создавать циклические ссылки, с которыми не все браузеры могут справиться. Например:

this.element = document.getElementById('something');
this.element.attachedObject = this;
3
ответ дан 29 November 2019 в 05:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: