![]() |
2 Nox Noctis:
огром пасиба:)
т.е. то, что наход между скобками выполняется только при создании экземпляра? (так кажется называется:)) function Kvdr() { trace("OBJ") } |
k = new Kvdr(); создаёт экземпляр класса Kvdr и конструктор выполняется только один раз когда надо экземпляр сконструировать ;)
у тебя плохой стиль, я бы конструктор отделил, см. выше |
Цитата:
эт я понял уже:) Цитата:
если честно, это первое подобное извращение написанное мною:) (ессно упрощенное для форума:)) |
Хэлп-2
function Kvdr(n)
{ trace("kv."+n); attachMovie("kv","kv"+n,n); } Kvdr.prototype.go=function(x,y) { obj=eval("kv"+n); eval("k"+(n+1)).go(1,2); // хотел обратится к след. объекту:( - флэш плюется на слишком длинный скрипт.. как сделать такое обращение? } k1=new Kvdr(1); k2=new Kvdr(2); k1.go(1,1); |
все просто :)
у тебя нет глобальной переменной 'n'... то есть выражение eval("k"+(n+1)).go(1,2); интерпретируется как eval("k"+1).go(1,2); (вместо 'n' - пустое место) ...получаем рефлексивное замыкание :) то есть бесконечную рекурсию... кстати, obj=eval("kv"+n); создает переменную 'obj' в том контейнере, где находится сама функция Kvdr... оно тебе надо ? :) |
| Часовой пояс GMT +4, время: 08:22. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.