J'ai une fonction qui est définie comme suitValeur de retour de la fonction Javascript nichée dans
function mainFunction() {
function subFunction() {
var str = "foo";
return str;
}
}
var test = mainFunction();
alert(test);
Pour ma logique, cette alerte doit retourner « foo », mais il renvoie undefined. Qu'est-ce que je fais mal?
MISE À JOUR: Voici mon code actuel (il est une fonction inverse géocodage avec l'API 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;
});
}
Je recommande la lecture sur la façon dont le travail Javascript Closures: http://jibbering.com/faq/faq_notes/closures.html#clClose – Bartek