Как это работает? ))
недели 2-3 назад спрашивал, как получать доступ к аргументам функции, которая сама передана в качестве аргумента, в итоге получился код:
function fulname(fn) {
fn(getName, getSurname);
function getName(name) {
console.log('name is', name);
}
function getSurname(surname) {
console.log('surname is', surname);
}
};
fulname(function (name, surname) {
name('petya');
surname('ivanov');
});
И теперь я не могу понять, как и почему это работает? )) |
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');
});
Так понятнее? |
я бы не сказал, что имена путают, вообще было вот так изначально
function fulname(fn) {
fn(function(a){
console.log('name is', a);
},
function(b){
console.log('surname is', b);
});
};
fulname(function (name, surname) {
name('petya');
surname('ivanov');
});
Не могу осмыслить, почему имя и фамилия так прокидываются |
innowed,
При выполнении функции
fulname(function (name, surname) {
name('petya');
surname('ivanov');
});
вместо name и surname вызываются и выполняются соответственно getName и getSurname (или первая и вторая функции по варианту пост №3) с параметрами 'petya' и 'ivanov' |
| Часовой пояс GMT +3, время: 16:11. |