![]() |
Можно ли залезть в конструктор встроенных классов?
Например добавить уникальное свойство объекту при его создании?
add: нечто подобное я делал для мувиков http://flasher.ru/forum/showpost.php...0&postcount=12 |
А расширение уже не в моде?
|
Расширение включает в цепочку видимости какой-то класс. Т.е. объект наследует свойство. А нужно чтобы свойство задавалось, а не наследовалось. Т.к. свойство может быть уникальным.
|
Так опишите свойство в наследнике, а его значение задавайте извне.
|
Цитата:
Код:
class A {Код:
class B extends A { |
Цитата:
(тогда бы я не стал и тему постить, т.к. до конструктора своего собственного класса я и так доберусь) Но никак не сработает для ЛЮБОГО объекта. Например такого: obj={} или такого obj=[] мне надо, чтобы у obj тут же было (или хотя бы через кадр) свое уникальное свойство. |
Код:
Object.prototype.a = 5; |
Цитата:
Цитата:
1) у объектов нет свойства типа _parent 2) нельзя отличить ссылку на объект от самого объекта - и тут возможно зацикливание. Конечно можно написать свои классы-аналоги и всегда использовать new, но это как-то громоздко выглядит. |
А чего то не заметил, где в {} [] передается свойство в конструктор. Что-то ты мутишь воду :)
|
В том-то и дело, что не передается - см. название темы.
Если бы можно было добавить в конструктор назначение уникального объекта... Или хотя бы сделать по аналогии с решением для мувиков (но там решение было связано исключительно с самовызывающейся функцией onEnterFrame в прототипе) |
Так, я вообще перестал понимать о чем идет. Какой еще уникальный объект и причем тут onEnterFrame?
Можно отойти от абстрактных желений и объяснить конкретно на примере? |
Мне кажется я понял, чего нужно, но чет не представляю, как это можно сделать =)
Код:
var obj = { |
Цитата:
Что хочу? Очень немногого :) Аналога _parent (wvxvw, правильно понял) для объектов и способность отличать ссылки на объект от самих объектов. Конкретный пример: Код:
obj1={} |
В отличии от мувиклипов, которое являются визуальными объектами и поэтому "физически" находятся в другом клипе и поэтому имеют родителей, объекты создаются в памяти и на них просто дается ссылка. Понятие родителя к ним не применимо.
То есть если взять пример Код:
obj1 = {};А можно еще вот так написать Код:
obj1 = {};И как ты собрался отличать ссылку на объект от самого объекта, мне тоже не понятно. Также не понятно, почем "взлом" встроенных классов кажется тебе более правильным решением, чем создание подкласса с нужными свойствами и называя это "громоздко выглядит". Хочется присечь рекурсию кода выше? Можно сделать так: Код:
obj1 = {}; |
Цитата:
1) два объекта у которых ОБЩИЙ родитель- _root или временная диаграмма, где они расположены. 2) в каждом из объектов есть ССЫЛКА на другой объект, естественно помещение ссылки в какой-то объект не значит, что он стал родителем. :) В коде: Код:
obj1={}Цитата:
Цитата:
|
Цитата:
Пример. Создаем мувиклип с объектом. Даем на объект ссылку и удаляем мувиклип. Мувиклипа нет, а объект который создавали якобы в нем, существует. Потому, что его в клипе и не было. Была только ссылка. Код:
var mc:MovieClip = this.createEmptyMovieClip ("mc", 0);Цитата:
|
iNils, спасибо!
|
| Часовой пояс GMT +4, время: 08:44. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.