Как мне вызвать функцию, определенную в переменной JavaScript - PullRequest
1 голос
/ 02 февраля 2012

У меня есть функция, определенная в переменной javascript. Как мне вызвать эту функцию в функции JavaScript?

function clear_viewer() {
     var stop_function = "jwplayer.stop();";
     // call stop_function here
}

Спасибо.

Ответы [ 3 ]

4 голосов
/ 02 февраля 2012
function clear_viewer() {
     var stop_function = "jwplayer.stop();";
     eval(stop_function);
}

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

function clear_viewer() {
     var stop_function = function() {
       jwplayer.stop();
     };
     stop_function();
}
1 голос
/ 02 февраля 2012
function clear_viewer() {
     var stop_function = function(){ jwplayer.stop();};
     stop_function();
}
1 голос
/ 02 февраля 2012

Всегда можно использовать «все зло» eval():

eval(stop_function);

Очевидно, что при использовании eval вы должны быть очень осторожны, чтобы избежать случайного выполнения вредоносного кода.Другой вариант - превратить stop_function в анонимную функцию, выполняющую ваш код:

var stop_function = function(){
    jwplayer.stop();
};

stop_function();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...