Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как передать функцию внутри функции (https://javascript.ru/forum/dom-window/57350-kak-peredat-funkciyu-vnutri-funkcii.html)

mmotor 31.07.2015 00:49

Как передать функцию внутри функции
 
Делаю так

var f;
function go(fi){fi("1"); setTimeout('f = "'+fi+'"',1000);}
go(alert);
console.log(typeof("f"));


На выходе мне надо получить функцию f, а я получаю строку.
Подскажите, как сделать правильно

mmotor 31.07.2015 03:08

Т.е. должно быть так, но название функции должно передаваться в параметре функции go

var f;
function go(fi){fi("1"); setTimeout('f = alert',1000);}
go(alert);
f("2");

Decode 31.07.2015 03:31

var f;

function go(fi){
  fi(1);
  f = fi;
}

go(alert);

console.log(typeof f);

f(2);

mmotor 31.07.2015 03:40

Мне нужно функцию назначить в setTimeout. Если время прошло и я его не прервал, то назначаю функцию


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