Просмотр полной версии : Создать объект динамически
как создавать и работать с объектами я знаю. допустим
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
}
Контекстная ссылка на объект в JavaScript:
this
Почитайте статью «Ключевое слово "this" в деталях (http://javascript.ru/tutorial/object/thiskeyword)».
труба че-то не доходит. по сабжу можно разъяснить (давно такого небыло о_0)
а лучше пример
Андрей Параничев
25.09.2008, 23:59
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 Конструктор();');
думал над этим. но вот новое имя каким образом задать. если ставить туда переменную, то именем объекта станет не содержание переменной, а она сама
неслабо)
вот теперь все.
TNX!
TNX!
TNX!
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot