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

Здесь понятное объяснение на примере, что значит передать функцию в функцию и как это работает в JS.

 

function translate (testFunc){
    var tr = testFunc("z");
    console.log (tr);
}
 
function dictonary (word) {
    if (word == "x") {return "iks";}
    if (word == "z") {return "zet";}
}
 
translate (dictonary);

 

Первое:

Мы вызываем функцию translate () с параметром, который пока опускаем к рассмотрению.

 

Второе.

Запускается функция translate () и доходит до строчки var tr = testFunc("z");

 

Здесь в переменую tr присваивается результат некой функции testFunc() которая нигде не объявлена.

Именно здесь главная загвоздка. Так как в начале мы вызывали translate (dictonary), где dictonary это наша вторая объявленная функция, эта функция перетекает и JS внутри себя читает код в таком виде: var tr = dictonary ("z");

Ну а дальше уже все работает как обычные функции.

 

 



Оставить свой ответ:

Имя:*
E-Mail:
Вопрос:
Skolko buдет пять пдюс сeмь?
Ответ:*
QQpedia21.ru - cамые интересные вопросы