Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Флейм (http://www.flasher.ru/forum/forumdisplay.php?f=7)
-   -   перегретый МХ (http://www.flasher.ru/forum/showthread.php?t=34159)

Nox Noctis 08.07.2002 22:23

перегретый МХ
 
все, я окончательно перегрелся...
впрочем не только я как выясняется...
Код:

Object.prototype.echo = function() {
        trace("What's Up ?!");
};
a = {};
a.echo();
for (j in a) {
        trace("a :: "+j+" : "+a[j]);
}

как грится "мама, у меня получилось !" :)

теперь пишем
Код:

Object.prototype.echo = function() {
        trace("What's Up ?!");
};
b = new Color(this);
c = b.getTransform();
c.echo();
for (j in c) {
        trace("c :: "+j+" : "+c[j]);
}

ничего необычного ? где метод echo в объекте 'с' я вас спрашиваю ?

озадачивает настолько что иду читать факен мануал (бывает же такое :) )...

читаю про Color.getTransform():
Method; returns the transform value set by the last setTransform call.
мда... информативно...

читаю про Color.setTransform(colorTransformObject):
Method; sets color transform information for an instance of the Color object. The colorTransformObject parameter is a generic object that you create from the new Object constructor.

тэээкс...
ладно, тогда проверим принадлежность классу Object:
Код:

a = {};
b = new Color(this);
c = b.getTransform();
trace(a.__proto__ == Object.prototype);
trace(c.__proto__ == Object.prototype);

я в ауте...
ну и что в таком случае за мутанта возвращает метод getTransform ?!

Код:

a = {};
b = new Color(this);
c = b.getTransform();
ASSetPropFlags(c.__proto__, null, 8, true)
ASSetPropFlags(a.__proto__, null, 8, true)
for (i in c.__proto__) {
        trace("c.__proto__ :: "+i+" : "+c.__proto__[i]);
}
trace("c.__proto__ object\n\n");
for (i in a.__proto__) {
        trace("a.__proto__ :: "+i+" : "+a.__proto__[i]);
}trace("a.__proto__ object");

не, я лучше пошел нажимать на кнопку-для-нажимания...

Смольный (Smolniy) 09.07.2002 00:36

Поразительно!

С нетерпением ожидаю мнения обЧественности.

instanceof также подтверждает проблему.

Nox Noctis 09.07.2002 01:10

после холодного пива меня пробило еще больше :)))
getTransform ведь есть не тлько у объекта Color
Код:

ASSetPropflags(Object.prototype, null, 8, true);
c = {};
for (i in c) {
        trace(i);
}
trace("\n\n");
a = new Sound(this);
b = a.getTransform();
for (i in b) {
        trace(i);
}
trace(b instanceof Object);

муа - ха - ха :)))

я определенно открыл доселе неизвестный науке класс объектов :)))

Nox Noctis 09.07.2002 01:30

осознав масштабы лажи,
я стал экспериментировать со всякими стандартными функциями, которыет "должны" (теоретически ;)) ) возвращать нормальные объекты...
Код:

this.createTextField("TF", 1, 0, 0, 10, 10);
a = TF.getTextFormat();
b = a.getTextExtent("Curiouser and curiouser... ©L.Caroll");
ASSetPropflags(Object.prototype, null, 8, true);
for (i in b) {
        trace(i);
}
trace(b instanceof Object);

еще один экземпляр этих диких представителей фауны МХ :)))

(кстати, getTextFormat() возвращает нормальный настоящий объект :) )

а круче всего то, что у прототипов этих объектов вообще нету метода constructor :))
trace(b.__proto__.constructor);


все... на этом я пошел спать (могу себе представить что, мне теперь приснится :))) )

ту би континьюд :))

john 09.07.2002 19:18

Да ларчик просто открывается, у некоторых объектов проcто нет поля __proto__
Либо полю __proto__ присвоено значение undefined;

К тобой перечисленым добавлю attributes у XML;

x = new XML("<a a='a' b='b' />")
o = x.firstChild.attributes;

trace(o.a);
trace(o.b);
trace(o.__proto__)

Nox Noctis 09.07.2002 19:23

ну так это видно :)
только это ничего не меняет :)

фиг с ним с __proto__ -
чем вообще создаются такие объекты, если они нифига не наследуют от класса :))

john 09.07.2002 19:30

Коробочки с данными :)

john 09.07.2002 19:32

Я тут FlashCom-ом гружусь, скачал?
Там тоже много чего веселого, и обновили хелп для микрофонов, шаред объектов и тд.


Часовой пояс GMT +4, время: 09:31.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.