Показать сообщение отдельно
  #2 (permalink)  
Старый 01.01.2022, 12:02
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Сообщение от Amonecks
Не могу понять в чем проблема
Все дело в области видимости функции...
Цитата:
Область видимости функции — функция, в котором она определена, или целая программа, если она объявлена по уровню выше.
https://developer.mozilla.org/ru/doc...uide/Functions

Т.е. на момент определения твоих функций, переменные pos1 и pos2 не определены...

Вариант решения
let pos1, pos2
showPosition(
	true, 
	function pos1(f) {
		alert('Позиция 1'); 
		f(pos1);
	}, 
	function pos2(f) {
		alert('Позиция 2'); 
		f(pos2);
	}
);
function showPosition(order, pos1, pos2){
    if(order){
        pos1(pos2);    
    } else {
        pos2(pos1);  
    }
}

Последний раз редактировалось ksa, 01.01.2022 в 12:07.
Ответить с цитированием