Гм... Функцию можно записать в переменную, во все что угодно. Представьте себе пример:
function a(name) {
alert(name);
}
a("Vanya");
Вот и смотрите - строка еще не создалась, но она в функции уже используется! То же самое с callback:
function a(name, callback) {
alert(name);
callback(name);
}
a("Vanya", function(name) { console.log(name); });
Вот смотрите - здесь почти тоже самое. Возможно, вас смущает вызов функции
callback? Тогда вот ответ - все в js представляется переменными и свойствами, даже функции. Таким образом вызывается функция, находящаяся в переменной
callback! А
callback - переменная, которая содержит анонимную функцию.
Также, как уже заметил
Yaroslav Lyzlov, можно передавать не только анонимную функцию.