2014-11-09 3 views
-1

My English = Google Translate. К сожалению :(переменная получает назначенную функцию

function XXX(){ 
    abc = function(){return 'Message';} 
    return abc; 
} 

function Alerttt(){ 
    var AlertText= XXX(); 
    alert(AlertText); 
} 

Результат:

AlertText = function(){return 'Message';} 

Я хочу:?.

AlertText = Message 

Как я могу сделать

+1

Звоните? 'XXX()()' – Bergi

+0

Почему вы определяете вложенные функции вообще? Можете ли вы изменить 'XXX'? – Bergi

ответ

0

Вы ищете это?

function XXX() 
 
{ 
 
    abc = function(){return 'Message';} 
 
    return abc; 
 
} 
 

 
function Alerttt() 
 
{ 
 
    var AlertText = XXX()(); 
 
    alert(AlertText); 
 
} 
 

 
Alerttt();

Вызов XXX возвращает объект функции, так XXX() является функцией объекта, и вам нужно вызвать эту функцию объект как XXX()() возвращает 'Message'.

+0

Нет. Я хочу AlertText = , а не . – mKrgl

+0

mKrgl: Пожалуйста, бегите и смотрите. AlertText имеет значение «Сообщение» здесь. – Aravind

2

Вы должны вызвать функцию

function XXX() { 
 
    abc = function() { 
 
    return 'Message'; 
 
    } 
 
    return abc; 
 
} 
 

 
function Alerttt() { 
 
    var AlertText = XXX(); 
 
    alert(AlertText()); // call it 
 
} 
 
Alerttt();

Вы также можете сделать вар AlertText = XXX()(); так, что AlertText получает возвращаемое значение из вызываемой функции, так что вы можете just do alert(AlertText);

+0

Но AlertText является функцией() {return 'Message';}. Я хочу, чтобы AlertText is'Message. – mKrgl

+0

Это 'alert (AlertText());', а не 'alert (AlertText);'. –

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