![]() |
|
||||||||||
|
|||||
|
Регистрация: Aug 2011
Сообщений: 12
|
Зачем нужен метод apply() класса Function, в связанном методе, т.е метод внутри класса.
Роюсь в чужом коде, а там написано: //пакет //обьявление класса //конструктор ... public function myMethod():void { requestData.apply(this,arr); } private function requestData(...params):void { var arr:Array = params as Array; arr2.push(arr); } В документации написано: "указывает значение текущий обьект, используемого в любой функций" Типа можно передать this, методу из другого класса, и там его использовать? |
|
|||||
|
Регистрация: Aug 2011
Сообщений: 12
|
Ну так можно просто сделать:
|
|
|||||
|
еще удобно apply() и call() использоваться в виде:
Как несложно догадаться строку с именем метода можно сформировать при выполнении кода, или же получиться откуда-то извне. Я использую периодически в общении с сервером, когда пачка серверных команд и пачка обработчиков оных. Вместо свича на стопицот значений делается одна строчка как я привел в примере, а имя метода например совпадает с серверным, а сервер в своих ответах это имя присылает. Как-то так.
__________________
Кто к нам с чем для чего - тот у нас того от того. |
|
|||||
|
Регистрация: Aug 2011
Сообщений: 12
|
А в моём то случае зачем так сделали, просто чтобы массив передать?
|
|
|||||
|
ну я весь код не видел, не могу сказать. Но как минимум там один метод публичный а второй приватный, возможно публичный метод сделан типа для автозапуска чего-то там с предустановленными параметрами.
Но все-равно почему именно апплай не понятно.
__________________
Кто к нам с чем для чего - тот у нас того от того. |
|
|||||
|
.
|
Ну да. А как вы еще передадите ...params?
Не ссылку на массив, а сами значения. |
![]() |
![]() |
Часовой пояс GMT +4, время: 19:07. |
|
|
« Предыдущая тема | Следующая тема » |
|
|