Создать объект динамически
как создавать и работать с объектами я знаю. допустим
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, время: 10:21. |