Показать сообщение отдельно
  #14 (permalink)  
Старый 05.10.2017, 09:28
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

MC-XOBAHCK, там не обязательно регистрироваться.
var fst_var=1;
(function(){//Это ваша jq ready function «$(func)»;
	var sec_var=2;
	(function(){//Это ваш .nameShip event listener
		var thd_var=3;
		alert('Second function');
		alert(fst_var);//1
		alert(sec_var);//2
		alert(thd_var);//3
	})();
	
	alert('First function');
	alert(fst_var);//1
	alert(sec_var);//2
	alert(typeof thd_var);//undefined
})();

alert('Outside');
alert(fst_var);//1
alert(typeof sec_var);//undefined
alert(typeof thd_var);//undefined

Из "вложенной" области видимости (ОВ) можно взаимодействовать с переменными из "родительской" ОВ, из родительской же ОВ взаимодействовать с переменными из дочерних ОВ нельзя независимо от того была ли дочерняя функция уже воспроизведена или нет.
Для того, чтобы реализовать вами задуманное нужно просто объявить необходимые переменные в родительской области видимости, а их заполнение производить во вложенных функциях/ОВ.
Надеюсь я смог внести хоть какую-то ясность.
Ответить с цитированием