innowed,
Похоже, вас немного путают одинаковые имена разных объектов.
Посмотрите такой вариант:
function fulname(fn) {
fn(getName, getSurname);
function getName(nm) {
console.log('name is', nm);
}
function getSurname(snm) {
console.log('surname is', snm);
}
};
fulname(function (name, surname) {
name('petya');
surname('ivanov');
});
Так понятнее?