【发布时间】:2011-04-05 17:09:24
【问题描述】:
我有一个(希望很简单)Javascript 问题。我进行了搜索,但没有找到与问题真正相关的内容。
基本上,我有一个函数 (addToGlobe),它在运行时会调用另外两个函数(codeAddressLat 和 codeAddressLng)。两个被调用的函数都应该向第一个函数返回一个浮点值,然后第一个函数使用它们。子函数肯定能正常工作——我做了一个打印语句来检查每个子函数中的“numfinal”变量是否有一个值,而且确实如此。
但是,当我将打印语句添加到调用函数时(如代码中所述),它返回“未定义”。因此,问题似乎出在返回 numfinal 值的时候。
谢谢:)
function addToGlobe(uname, uid, pmcity) {
// Get lat & long of city
var pmlat = codeAddressLat(pmcity);
var pmlong = codeAddressLng(pmcity);
log(pmlat); // PROBLEM! Prints 'undefined'
log(pmlong); // PROBLEM! Prints 'undefined'
// Rest of function removed to keep it simple
}
function codeAddressLat(inputcity) {
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(-34.397, 150.644);
geocoder.geocode( { 'address': inputcity}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var llsplit = new Array();
bkresult = String(results[0].geometry.location);
bkresult = bkresult.replace(/[\(\)]/g, "");
llsplit = bkresult.split(',');
numfinal = parseFloat(llsplit[0]);
return numfinal;
} else {
log('<b><font color="#C40031">Geocode was not successful:</b> ' + status);
}
});
}
function codeAddressLng(inputcity) {
// Basically the same function as above. Removed for simplicity
}
【问题讨论】:
标签: javascript variables return