![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|
|
|||||
|
Мастер Цифрового Облика
|
var funName=["a","b","trace"]
function a() { trace("a") } function b() { trace("b") } function a_b() { _root[funname[0]](); _root[funname[1]](); _root[funname[2]](); } 0 и 1 работает, а вот 2 никак ![]() запутался я чей-то |
|
|||||
|
виртуальное земноводное
|
Дык а трейсить то чего? Ты ж флашу сказал _root.trace
![]()
__________________
Дешевый критикан |
|
|||||
|
Мастер Цифрового Облика
|
сорри
просто скопировал строки funname[2](); но все-рно не работает хоть как мучаюсь |
|
|||||
|
Мастер Цифрового Облика
|
все,
просто непонятно чъим методом является трэйс зато плэй и стоп работает. а мне тока это и надо всем пасибо. ЗЫ: кто до трэйса докопается, тому отдельное спасибо =) |
|
|||||
|
Guest
Сообщений: n/a
|
Нужно вызывать так - eval(funName[2])(), тогда должно работатать.
н.р. следующий фрагмент - работает: foo="trace"; eval(foo)(foo); ![]() Последний раз редактировалось Suhoff; 21.09.2001 в 02:52. |
|
|||||
|
а по-моему дело в том, что трейс требует наличия параметра. Если сделать просто trace() флеш ругнется на тему того, что ф-ция requires exactly one parameter. Здесь параметров не передается.
Однако если сделать _root[funname[2]]('param') то тоже ничего не происходит. Вывод: глюк реализации. Очередная недоработка объектной модели. хехе.. однако нет. Если сделать function a(par){trace(par)} a потом funname[0]('qwer'), выдаст qwer Темный лес это ООП во флеше. Ну его в баню до выхода шестого ![]()
__________________
Фоторобот UltimateFlashFace: http://flashface.ctapt.de, Большой респект Артему Мельникову! Последний раз редактировалось сочиNetz; 21.09.2001 в 02:53. |
|
|||||
|
Guest
Сообщений: n/a
|
........ Да, кстати......
Чтобы вызвать функции более хитрым способом нужно сделать немного не так - а следующим образом: ......... function a() { ...... }; function b() { ...... }; .... var funNum=[]; funNum[0]=eval("a"); funNum[1]=eval("b"); funNum[2]=eval("trace"); или, например : funNum[3]=eval("Math.sin"); // или другие функции тогда можно вызывать фунции так - funNum[0](); funNum[1](); funNum[2](.......); или н.р. funNum[2](funNum[3](1)); !!!!! и всё должно работать!! ![]() |
|
|||||
|
Мастер Цифрового Облика
|
Пасиб =)
foo="trace"; eval(foo)("YO"); работает, вот, блин гадство. ненавижу евалом пользоваться ![]() |
|
|||||
|
Guest
Сообщений: n/a
|
![]() Если ненавидишь пользоваться eval-ом, то можно обойтись и без него.. Пишешь - foo=trace; foo("YO"); - тоже работает!! ![]() Удачи! |
|
|||||
|
Регистрация: Oct 2001
Адрес: в Петербурге
Сообщений: 2,430
|
может, кто-то мне объяснит, почему евал() всем так не нравится? Ответ "не модно" не катит...
Мне лично нравится, всегда им пользуюсь. |
![]() |
Часовой пояс GMT +4, время: 03:16. |
|
|
« Предыдущая тема | Следующая тема » |
|
|