Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Передача имени функции в другую с параметрами (https://javascript.ru/forum/events/18980-peredacha-imeni-funkcii-v-druguyu-s-parametrami.html)

db_test 21.07.2011 21:51

Передача имени функции в другую с параметрами
 
Доброго, всем

есть ли возможность передать в некоторую функцию, имя функции как строку и ее аргументы массивом и сделать apply?

Для примера вызывается какая-то функция которая по callback должно выполнить другую, но не жестко прописанную, с этим проблем нету ...

Без фреймворков ...

Буду благодарен за все советы ...

Дмитрий

kobezzza 21.07.2011 21:59

var
	callbackFunc = function (a, b) { return a > b; },
	func = function (a) { return a(2, 3); };
	
func(callbackFunc);

db_test 21.07.2011 23:21

Спасибо, но скорей всего я не правильно изъяснился хочется что то типа того:

preTest = function() {
        var _funcName = 'test';
        func = function(_funcName);
   }

   test = function() {
       alert('aaaaa');
   }


или это невозможно?

kobezzza 21.07.2011 23:24

Цитата:

Сообщение от db_test (Сообщение 114734)
Спасибо, но скорей всего я не правильно изъяснился хочется что то типа того:

preTest = function() {
        var _funcName = 'test';
        func = function(_funcName);
   }

   test = function() {
       alert('aaaaa');
   }


или это невозможно?

func = eval(_funcName + "()");

db_test 21.07.2011 23:28

Цитата:

Сообщение от kobezzza
func = eval(_funcName + "()");

без EVIL никак? )

kobezzza 21.07.2011 23:33

Цитата:

без EVIL никак? )
var objFnc = {test: function () { alert("aaaaa"); }}

objFnc["test"]();

db_test 21.07.2011 23:39

Хм. Но в данном случае для всех функций надо будет прописывать ключи?
И писать функции внутри .... а они там немаленькие.

Хотя если развить идею в данном направлении ... то тогда в принимающей функции, можно прописать что то типа

switch(type) {
    case: "test"
    test();
     break;
     case: "test2"
    test3();
}


спасибо

kobezzza 21.07.2011 23:41

Цитата:

Хм. Но в данном случае для всех функций надо будет прописывать ключи?
И писать функции внутри .... а они там немаленькие.
Вполне нормальная реализация, есть объект, а у него есть методы, нету каши в глобальном пространстве и все рады)

db_test 21.07.2011 23:56

Реализация не спорю адекватная, но
как говорится мне надо сделать на том что было ))) с меньшими затратами

Еще раз спасибо за направление


Часовой пояс GMT +3, время: 20:52.