que tiene una función que está configurado de la siguiente maneravalor de retorno de la función anidada en Javascript
function mainFunction() {
function subFunction() {
var str = "foo";
return str;
}
}
var test = mainFunction();
alert(test);
Para mi lógica, que alerta debe devolver 'foo', pero en su lugar se vuelve indefinida. ¿Qué estoy haciendo mal?
ACTUALIZACIÓN: Aquí está mi código real (que es una función inversa de geocodificación con la API de Google)
function reverseGeocode(latitude,longitude){
var address = "";
var country = "";
var countrycode = "";
var locality = "";
var geocoder = new GClientGeocoder();
var latlng = new GLatLng(latitude, longitude);
return geocoder.getLocations(latlng, function(addresses) {
address = addresses.Placemark[0].address;
country = addresses.Placemark[0].AddressDetails.Country.CountryName;
countrycode = addresses.Placemark[0].AddressDetails.Country.CountryNameCode;
locality = addresses.Placemark[0].AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.LocalityName;
return country;
});
}
recomiendo leer acerca de cómo Javascript Cierres de trabajo: http://jibbering.com/faq/faq_notes/closures.html#clClose – Bartek