![]() |
вызов/передача произвольной функции из класса
Всем доброго дня!
Ни как не могу найти как вызвать произвольную функцию, передаваемую параметром из класса? Для иллюстрации проблеммы написал: Код:
Class MyClass extends MovieClip {Чем это вызвать и какие параметры/как нужно передавать классу? Видел это но ни понял до конца как это работает: Код:
function.call(scope,params);Спасибо за помощь. з.ы. что-то я начал много спрашивать, но всегда стараюсь найти ответ в форуме/хелпе сначала. не всегда получается :) |
Также как и всегда вызывается функция, с помощью скобок ().
А как вы собираетесь передавать параметры в класс, когда этот класс наследник MovieClip, то есть через new он не создается? |
Разобрался, оказывается была опечатка в коде - поэтмоу не работало :)
Сделал так (если у кого-то возникнут подобные вопросы): В классе метод: Код:
function setCallback(Func,scope,parameters) Код:
this._Func.call(this._scope,this._parameters)scope - путь к объекту, кот. ее вызывает e.g. this.myObj params - параметры. 2iNils: насчет параметров не совсем понял, елси сделать new MovieClip(), разве нельзя указать в скобках параметры для конструктора? Теперь уже не важно ибо сделал отдельный метод, а конструктор оставил пустым. |
Цитата:
Их можно создать только с помощью методов: createEmptyMovieClip, attachMovie и createTextField |
я забыл, а что они (операторы new) делают? просто "фиксируют" класс переменной, что-бы потом не записать туда что-попало?
з.ы. пардон если офф-топ, но просто что-бы уж разобраться... p/s/ они - new (e.g. new MovieClip(), new TextField(), etc) |
Ничего не делают. Просто у класса должен быть конструктор.
|
Кстати, я так понял удобнее использовать apply чем call,
Код:
this._Func.apply(this._scope,this._parameters)apply в массиве: (...,[param1,param2,...]) отличий вродебы нет... |
Я собственно только apply и использую, скобки добавить не сложно, а вот сменить call на apply, если вдруг понадобится, может отнять много времени.
|
| Часовой пояс GMT +4, время: 11:04. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.