![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
Регистрация: Sep 2004
Сообщений: 4
|
Писал вот что-то в таком духе:
a={}; b={}; a=b; a.q="a"; И с некоторым удивлением обнаружил, что при этом b.q="a", причем связь эта динамически отслеживается, так что получилась паразитная (в моем случае) обратная связь. Не придумал ничего лучше, чем приравнивать каждое свойство по отдельности, но сдается мне способ достаточно извращенский. Может кто подскажет что-нибудь поумнее, а? З.Ы. И еще вопрос не по теме однако тоже весьма меня интересующий: как удалить все элементы массива разом? |
|
|||||
|
Регистрация: Jul 2002
Адрес: Россия
Сообщений: 16
|
a наследник б
a=[1,2,3,4,5]; // вот создал a.length = 0; // вот удалил // а еще смотри как ты удивишься ... b={} a=b b.q = 1; trace (a.q) /* да бывают чудеса на свете, чтоб чудес не было книги нада читать, а не ломать голову другим людям!. не обж.. шучу */
__________________
думать надо... |
|
|||||
|
Регистрация: Sep 2004
Сообщений: 4
|
Цитата:
Цитата:
Вопрос, то, собственно, в чем? Как сделать так чтобы a не отслеживал изменений b Цитата:
99% - тупые самоучители |
|
|||||
|
Регистрация: Sep 2004
Сообщений: 4
|
Блин, да знаю я что a - ссылка на b
|
|
|||||
|
.
|
Цитата:
|
|
|||||
|
.
|
Копировать объект, может что-то типа этого.
Object.prototype.copy = function()
{
var tempObj = new Object();
for (var i in this)
{
tempObj[i] = this[i];
}
return tempObj;
}
P/S/ По-спокойней надо быть. ![]() Последний раз редактировалось dimarik; 17.09.2004 в 20:27. |
|
|||||
|
Регистрация: Aug 2003
Адрес: Украина, Львов
Сообщений: 129
|
попоробуй сделать функцию, которая создает другой обьект и "врукопашную" копируй туда значения... может так "наводить"не будет....не пробовал,...
|
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
три раза одно и тоже )
a = [5]; b = a.slice (0); trace ("до"); trace (a); trace (b); b[0] += 7; trace ("после"); trace (a); trace (b); Последний раз редактировалось iNils; 18.09.2004 в 11:44. |
|
|||||
|
Цитата:
a = new Array("a1", "b1", "c1"); b = new Array(); b = a.concat(); trace(b[0]); trace(b[1]); trace(b[2]); b[0]= "f1" trace(a[0]); trace(b[0]); Есть еще один полезный метод: slice() |
![]() |
Часовой пояс GMT +4, время: 02:53. |
|
|
« Предыдущая тема | Следующая тема » |
|
|