Просмотр полной версии : как можно вызвать их (Функции) одна за другой
имеется массив в котором хранятся - а) названия функций б) их параметры
как можно вызвать их (Функции) одна за другой при этом параметры типа таких -(199,199,222)
пробовал eval но что вписывать в передаваемые функции массив то возвращает строку....
я пытался так
eval(cod_Array[def][0])(cod_Array[def][1]);
что подскажете?
Для оформления своего кода, надо использовать теги .
Тебе на помощь прийдет класс Function.
И метод Fucntion.call(.......);
а почему нужно добавлять название функции в массив, а не ее саму? Было бы проще жить.
function a(){
trace("A");
}
function b(){
trace("B");
}
var func_arr:Array = [];
func_arr.push(a);
func_arr.push(b);
func_arr[0]();
func_arr[1]();
а как передавать ее параметры тогда?
func_arr[0](param1, param2, …);
Бармалей
13.11.2006, 14:02
Странно. Я почему-то пришел к выводу при проектировании класса подобного конвейеру Потапенко, что использование конструкций func_arr[1]() неприменимо и нужно пользоваться call() или apply(). Попытаюсь вечером разобраться почему я так решил.
Не, ну можно call или apply, если хотите. Только зачем, если не нужно менять область видимости…
a = function() {…}
a — ссылка на function. Вызов a() вас же ничем не смущает? Если угодно, a = func_arr[i]; a(param1, param2, …);
если параметры одной строкой передаются и хранятся то разобрать тоько apply() получилось , а func_arr[0](param1, param2, …); подходит если параметры не динамические
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.