Какая польза от функции обратного вызова в случае, указанном ниже?

Я написал две функции. Первый использует функцию обратного вызова, а второй — нет. Но обе функции печатают одно и то же. Так в чем тут разница? Функция обратного вызова в этом случае не нужна?

//function 1

function printHi(name, callback){
    console.log('Hi '+name);
    callback(name);
}
function printBye(name){
    console.log('Bye '+name)
}

printHi('lavanya',printBye);.

/*************************************************************************/
//function 2

function printHi(name){
    console.log('Hi '+name);
    printBye(name);
}
function printBye(name){
    console.log('Bye '+name)
}

printHi('lavanya');


person Lavanya    schedule 10.06.2020    source источник


Ответы (1)


printHi в первой версии является функцией более высокого порядка, а во второй - нет.

printHi в первой версии сам по себе, когда дело доходит до параметров, и он не имеет доступа к глобальным переменным, но во второй версии он обращается к функции из глобальной области видимости printBye.

Подробнее о функциях высшего порядка можно прочитать здесь

person Niranjan Borawake    schedule 10.06.2020