Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Колбэки


Автор: PsiMagistr 21.4.2022, 09:36
Код

function start(callback)
{
    return callback(3, 5);
}

let a = start(function(num1, num2){
    alert(`${num1} ${num2}`);
    return num1 + num2;
})
//////////////////////////////////////////////
alert(`Результат: ${a}`);



Можно объяснить как в параметры num1, num2 попадают фактические значения 3-5? Спасибо большое за ответ.

Автор: ksnk 23.4.2022, 00:14
В смысле - объяснить ? Все же написано, черным по светлосерому smile

Описывается функция start с одним параметром. То, что это параметр - функция, выясняется внутри тела start, чтобы сохранялась интрига. Собственно работа start заключается в вызове этого callback в параметрами 3 и 5 и возврате получившегося значения.

Переменной А присваивается результат вызова функции start с параметром - анонимной (то есть тут-же на месте описанной) функцией.
старт, как можно видеть из описания, вызывает эту самую анонимную функцию с нужными параметрами 3 и 5

Автор: PsiMagistr 24.4.2022, 09:32
Цитата(ksnk @ 23.4.2022,  00:14)
В смысле - объяснить ? Все же написано, черным по светлосерому smile

Описывается функция start с одним параметром. То, что это параметр - функция, выясняется внутри тела start, чтобы сохранялась интрига. Собственно работа start заключается в вызове этого callback в параметрами 3 и 5 и возврате получившегося значения.

Переменной А присваивается результат вызова функции start с параметром - анонимной (то есть тут-же на месте описанной) функцией.
старт, как можно видеть из описания, вызывает эту самую анонимную функцию с нужными параметрами 3 и 5

Я думал что параметры передаются только сверху-вниз. Не считал, что они могут в этих аргументах оказаться.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)