Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   хэширование ДОМ обьектов (https://javascript.ru/forum/events/32666-khehshirovanie-dom-obektov.html)

cyber 25.10.2012 01:16

хэширование ДОМ обьектов
 
Щас для курсовой пишу игру (язык дали любой на выбор поэтому решил на js) , пишу на чистом js и решил написать не лиж бы работало(как я всегда делал все курсовые:) ), а по человечески.
И решил учесть проблемы с утечкой памяти что бы их избежать решил сделать что то на подобие хэша jquery.
вот как я это понимаю
<!DOCTYPE HTML>
<html>
  <head> </head>
  <body>
    <div ></div >

    

    <script>


      
      var hash = [];
      
      hash["elem"] = document.body.children[0]
      
        
        var obj = {
        
          elem:"elem",
          
        innerHTML: function (text) {
          
          var elem = hash[this.elem];//обращение к элементу
          elem.innerHTML = text;  
          elem = null;
          
          }
        };      
      
      
      obj.innerHTML("one");
      
    </script>

  </body>
</html>

вспомнил как обьяснялось в учебнике http://learn.javascript.ru/memory-le...течками .
Правильно?

BallsShaped 25.10.2012 02:47

Нафиг так заморачиваться с древними браузерами - это почти не актуально уже. Лучше напиши игру, используя <canvas>. Всяк полезнее, чем лечить болячки динозавров.

melky 25.10.2012 06:14

Цитата:

Сообщение от cyber
учесть проблемы с утечкой памяти что бы их избежать

Цитата:

Сообщение от cyber
hash["elem"] = document.body.children[0]

ага :)
Цитата:

Сообщение от BallsShaped
Лучше напиши игру, используя <canvas>.

вот здесь начинается весёлое приключение!

я сам не пожалел, что начал изучать canvas. классная штука!

cyber 25.10.2012 09:44

Цитата:

Сообщение от BallsShaped (Сообщение 212097)
Нафиг так заморачиваться с древними браузерами - это почти не актуально уже. Лучше напиши игру, используя <canvas>. Всяк полезнее, чем лечить болячки динозавров.

Это акутально досихпор причем сильно!
Особенно это видно если на долго оставить социальные сети открытыми(твиттер, вк).
Так я и так на canvas делаю.
П.с вы наверно не совсем понимаете что такое утечка памяти, вот тут хорошо описанно http://learn.javascript.ru/memory-management.

cyber 25.10.2012 09:44

А насчет моего вопроса может кто то ответить?

BallsShaped 25.10.2012 13:45

cyber, я прекрасно понимаю, что такое утечки памяти в браузерах, но сам подумай, если их так хорошо видно в твиттере и вк, не значит ли, что всем пох на них?:) Тем более, если ты делаешь игру на canvas, значит ты не будешь создавать/удалять DOM-элементы. Так откуда у тебя взяться утечкам?

Your 25.10.2012 13:47

Ну почти), ты на верном пути...=)
Только детальнее и расширенее делай.

Чтобы не возникло нюансов.

cyber 25.10.2012 15:59

Цитата:

Сообщение от BallsShaped (Сообщение 212174)
cyber, я прекрасно понимаю, что такое утечки памяти в браузерах, но сам подумай, если их так хорошо видно в твиттере и вк, не значит ли, что всем пох на них?:) Тем более, если ты делаешь игру на canvas, значит ты не будешь создавать/удалять DOM-элементы. Так откуда у тебя взяться утечкам?

Ну начнем с того что менюшка будет не канве, ну а насчет забили , лично меня напрягает когда твиттер отжирает 300мб оперативы.
А с хэшем я хочу в общем по практиковаться это пригодиться и вдругих проектах.

cyber 25.10.2012 16:00

Цитата:

Сообщение от Your (Сообщение 212175)
Ну почти), ты на верном пути...=)
Только детальнее и расширенее делай.

Чтобы не возникло нюансов.

не совсем понял.

melky 25.10.2012 16:20

Цитата:

Сообщение от cyber
А насчет моего вопроса может кто то ответить?

при удалении со страницы ссылка на элемент остаётся -> он не убирается сборщиком мусора -> утечка памяти.


Часовой пояс GMT +3, время: 14:44.