Показать сообщение отдельно
  #4 (permalink)  
Старый 01.01.2022, 15:43
Новичок на форуме
Отправить личное сообщение для Amonecks Посмотреть профиль Найти все сообщения от Amonecks
 
Регистрация: 01.01.2022
Сообщений: 6

Видимо я не могу просто понять область видимости ну или же не правильно понял как работают параметры.
Допустим, в вашем примере:
let showPosition, pos1, pos2
function showPosition(order, ps1, ps2){
    if(order){
        ps1();
    } else {
        ps2();
    }
}

function pos1(){
    console.log('Позиция 1', ps2);
    ps2();
};
function pos2(){
    console.log('Позиция 2', ps1);
    ps1();
};

showPosition(true, pos1, pos2);
:
Вы говорите когда функции pos1 и pos2 были объявлены, переменные ps1 и ps2 не были объявлены.
Но разве это работает не так, что функции записанные как параметр, в функции в которую они записаны присваиваются в переменные, а потом запускаются в зависимости от условия. (я имею ввиду когда запускается ps1 на этот момент в основной функции уже существуют переменные ps1 и ps2 так как они записались при вызове функции showPosition)
Ответить с цитированием