Задать вопрос

Как вытащить переменную с функции?

Добрый вечер. Нужно передать переменную query дальше следующему скрипту, но она после закрытия функции не определяется Uncaught ReferenceError: query is not defined
Может, вопрос и тупой, я недавно начал изучать JS, поэтому туплю, сори) Заранее спасибо за ответы)
var markersArray = [];
function initialize() {
	var mapOptions = {
		center: new google.maps.LatLng(49.053676508106875,33.423500061035156), 
		zoom: 12, 
		mapTypeId: google.maps.MapTypeId.ROADMAP
	 };
	var map = new google.maps.Map(document.getElementById("map_canvas"),
	mapOptions);
	
	google.maps.event.addListener(map, "click", function(event)	{
	GetLocalWeather();
	if (markersArray) {
		for (i in markersArray) {
			markersArray[i].setMap(null);
		}
	}
	
	placeMarker(event.latLng); 	
	
	var query = event.latLng.toUrlValue(15);

	
	document.getElementById("latbox").value=query;
	});
	//-------после этого места переменной нет ;(------------
	
	function placeMarker(location) {
	var marker = new google.maps.InfoWindow({
	position: location,
	content: contentString,
	map: map
	});
	markersArray.push(marker);
	}
}

google.maps.event.addDomListener(window, 'load', initialize);
  • Вопрос задан
  • 2832 просмотра
Подписаться 4 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
metamorph
@metamorph
Область видимости локальной переменной (var query = ...) ограничена текущим блоком ({ ... }). Объявите ее выше - на том уровне, где она будет требоваться - все будет ок.
Ответ написан
Satanpit
@Satanpit
Front-end developer
Глобальную переменную Вы можете объявить через window
window.query = ...
Ответ написан
Объявите query вне функции initialize. Это будет равносильно объявлению в глобальной области видимости. А если не хотите её захламлять, оберните всё, замкнув область.

Например:

jQuery(document).ready(function(){
var query;
// ваш код, обращается к query уже без объявления
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы