Создать объект динамически
как создавать и работать с объектами я знаю. допустим
var renderclass = function(){} var o = new renderclass(); var o = new Object() //и тд.. 1.а если мне нужно создать объект динамически, с определенным именем например "obj"+i? 2.как обращятся к созданному объекту через его созданное свойство. например через свойство oid сдесь: function nobj(){ var o = new Object() o.oid="obj"+i } |
|
труба че-то не доходит. по сабжу можно разъяснить (давно такого небыло о_0)
а лучше пример |
Bajjy,
Скажите для чего это вам. Возможно есть другой способ сделать задуманное. |
да нет. нужно именно это.
объяснять долго. в двух словах я сделал 3д движок но работает он только под ие так как в нем можно добавлять к тэгам свои свойства. но я сам понимаю что это не правильно и не красиво. поэтому и нужно динамически создавать объекты со своими свойствами которые будут связаны с добавляемыми на страницу тэгами (img, div, table). проблема в том что мне нужно постоянно удалять\добавлять на страницу новые объекты |
Хранить данные средствами DOM вполне нормально
var node = document.getElementById('id'); node['myProperty'] = 'value'; делать дополнительный, связанный с узлом, объект всеголишь для хранения каких-то данных не всегда рационально |
тоесть это работает в любом браузере?
|
Да, работает везде
|
спасибо! избавил от лишнего гемороя. но рано или поздно все равно придется столкнуться с проблемой с объектами
|
Как вариант, можно хранить все вновь созданные объекты в другом объекте.
var collection = {}; collection['новое_имя_объекта'] = new Конструктор(); удалять тоже просто delete collection['имя_объекта'] или если сильно извращаться, то использовать функцию eval eval('var obj' + i + ' = new Конструктор();'); |
Часовой пояс GMT +3, время: 14:29. |