![]() |
|
||||||||||
|
|||||
|
Регистрация: Feb 2012
Сообщений: 1,540
|
Уже просмотрел 3 темы, 2 записи, 4 сайта - ничего не нашел!
Например, есть функция: Как мне передать в нее переменную. Читал что надо использовать apply() , но так и не понял как ним пользоваться. Добавлено через 33 секунды И вообще, это возможно? Последний раз редактировалось MikroAcse; 18.02.2012 в 21:51. |
|
|||||
|
Регистрация: Feb 2012
Сообщений: 1,540
|
Хм... ну как же объяснить?
Добавлено через 1 секунду Вот, например: public static function repeatFunction(countsOfRepeat:Number,functionToRepeat:Function){ for(var iR=0;iR<countsOfRepeat;iR++){ var newfunctionToRepeat:Function=functionToRepeat; newfunctionToRepeat.apply(null, [iR]); newfunctionToRepeat(); } } Ошибка: Цитата:
|
|
|||||
|
Регистрация: Feb 2012
Сообщений: 1,540
|
Ой не то, исправил.
|
|
|||||
|
У вас функция приемник, ничего не принимает, а вы пытаетесь запихать в нее массив, поэтому вылетает ошибка.
А можете объяснить ход вашей мысли, когда вы писали вот этот блок кода? var newfunctionToRepeat:Function=functionToRepeat; newfunctionToRepeat.apply(null, [iR]); newfunctionToRepeat(); Function.#apply() Function#call()
__________________
местонахождение Последний раз редактировалось СлаваRa; 18.02.2012 в 22:13. |
|
|||||
|
Регистрация: Feb 2012
Сообщений: 1,540
|
Все, решил проблему.
public static function repeatFunction(countsOfRepeat:Number,functionToRepeat:Function){ var newfunctionToRepeat:Function=functionToRepeat; var arrayOfFunction:Array=[] for(var iR=0;iR<countsOfRepeat;iR++){ arrayOfFunction=new Array(newfunctionToRepeat.length) arrayOfFunction[newfunctionToRepeat.length-1]=iR newfunctionToRepeat.apply(null, arrayOfFunction); } } |
|
|||||
|
Регистрация: Sep 2010
Адрес: Ростов-на-Дону
Сообщений: 369
|
|
|
|||||
|
Великий Мук, пожалуйста, почините пробел у себя на клавиатуре.
repeatFunction(10, trace, [1, 2, 3]); public static function repeatFunction(count:uint, foo:Function, params:Array):void { for (var i:uint = 0; i < count; i++) foo.apply(null, params); } А так кошернее. Только я не могу придумать ни одного случая, где бы пригодилась Ваша функция. Ну да ладно.
__________________
тут я Последний раз редактировалось КорДум; 18.02.2012 в 22:23. |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:35. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|