webew
Войти » Регистрация
 
JavaScript

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

31 июля 2015, 0:52
Автор: tehnology-online
Делаю так

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



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

tehnology-online

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


   var f;  
    function go(fi){fi("1"); setTimeout('f = alert',1000);}  
    go(alert);  
    f("2");  
31.07.2015, 03:17
Ответить

1234ru

Вызывать функцию, располагая ее именем в виде строки, следует, исходя из того, что всякая функция глобальной области видимости - это метод объекта window:
var fn = 'alert';
window[fn](...);
То, что не убивает нас, делает нас инвалидами.
01.08.2015, 02:58
Ответить
© 2008—2017 webew.ru, связаться: x собака webew.ru
Сайт использует Flede и соответствует стандартам WAI-WCAG 1.0 на уровне A.
Rambler's Top100

Реклама: