我有一个功能设置如下
function mainFunction() {
      function subFunction() {
            var str = "foo";
            return str;
      }
}
var test = mainFunction();
alert(test);
按照我的逻辑,该警报应该返回“foo”,但它返回未定义。我究竟做错了什么?
更新:这是我的实际代码(它是使用 Google API 进行反向地理编码的函数)
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;
    });   
   }