Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Можно ли так вызвать функцию (https://javascript.ru/forum/misc/26981-mozhno-li-tak-vyzvat-funkciyu.html)

faforty 30.03.2012 12:01

Можно ли так вызвать функцию
 
У меня возник вопрос, можно ли каким нибудь образом вызвать функцию примерно следующим образом:
var func = 'Название функции'; 
func();

Но так не работает, подскажите как правильней сделать :)

[ANTI]CheateR 30.03.2012 12:07

var func = function(){alert(1)};
func();

оно?

faforty 30.03.2012 12:12

Нет, я хочу вызвать функцию зная её название.
function my_function(){ alert(); }
var function2 = 'my_function';
function2();

Как-то так... Но надо сделать чтоб работало...

[ANTI]CheateR 30.03.2012 12:15

function my_function(){ alert(1); }
var function2 = my_function;
function2();

оно?)

Rootpassword 30.03.2012 12:16

самое простое
function my_function(){ alert('Hello, world!'); }
var function2 = 'my_function';
eval(function2+'();');

faforty 30.03.2012 12:18

Спасибо, помогло))

monolithed 30.03.2012 12:59

Цитата:

Сообщение от faforty
Спасибо, помогло))

Это очень плохая практика.

Правильно делать так:

var object = {
    'foo' : function() {
       alert(1);
    }
};

var foo = 'foo';

object.foo();

Rootpassword 30.03.2012 14:51

Я-то тут при чем? Просили через eval- показал через eval.

Rootpassword 30.03.2012 15:39

Нет, в этом случае не голоса. Зато эти голоса подсказывают о существовании функционала "изменить сообщение" и "удалить сообщение" , а также говорят про Вас много дурного.

nerv_ 30.03.2012 15:52

Цитата:

Сообщение от Rootpassword
а также говорят про Вас много дурного

Да, он имеет свойство (метод?) за*бывать) Зато иногда веселит :D


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