2015-04-06 2 views
1

Я хотел бы вызвать функцию внутри функции из строковой переменной с аргументами.Функция вызова внутри функции из строковой переменной с аргументами

Позвольте мне показать, что я хотел бы с добавлением код

var myFunction = function() { 
    var innerFunction = function(data) { 
     alert(data); 
    } 

    return { 
     run: function(data) { 
      innerFunction(data); 
     } 
    } 
}; 

var myString = "myFunction.run()"; 

Если я не хочу передать переменную, чем это довольно легко;

var callFunction = new Function(myString); 
callFunction(); 

Если я могу передать переменную без использования функции внутри функции;

function myFunction(data) { 
    alert(data); 
} 

var myString = "myFunction"; 
window[myString]("Hello World!"); 

Однако это не то, что я хочу. Может ли кто-нибудь просветить меня о вызове функции внутри функции из переменной string с передачей ей аргументов?

+1

Это все равно поможет вам http://stackoverflow.com/a/359910/2466168 – Srinath

+2

Если вы нашли решение сами, отправьте его в качестве ответа и примите его. – phts

+0

Посетите http://stackoverflow.com/questions/29162944/javascript-string-of-sub-functions-to-actual-functions/29163303#29163303 – Bellash

ответ

0

Это может быть полезно

var myfun = function(){ 
console.log('Hello'); 
} 

window['myfun'](); 

Выход: Hello

0

Ну, это, кажется, разместив на РОФ помогает мне думать лучше.

Я забыл попробовать этот;

var functionName = myString.split('.'); 
window[functionName[0]][functionName[1]]("Hello World"); 

Работает должным образом. Всем спасибо.

Смежные вопросы