我在函數回調方面遇到了一些麻煩,特別是HTML5地理定位API。我對Js也有點新鮮感。功能:返回回調函數的值?
function getInfo()
{
navigator.geolocation.getCurrentPosition(getPos);
}
需要一個函數的回調參數,該函數獲取傳入的位置。
function getPos(position)
{
PositionObj.lat = position.coords.latitude;
PositionObj.lon = position.coords.longitude;
}
我創建了一個「位置」對象來存儲座標,並且我無法返回它們。
var PositionObj =
{
lat:null,
lon:null,
returnLat: function()
{
return this.lat;
},
returnLon: function()
{
return this.lon;
}
};
function printStuff()
{
getInfo();
console.log(PositionObj.returnLat());
}
編輯:語法錯誤修正。當我調用printStuff()時,我仍然得到「null」。
我沒有看到你從'getPos()'返回任何東西。這是問題嗎? – scarecrow
我想你應該試試'getPos'(沒有'()')。您必須傳遞函數引用,而不是函數getPos的返回值。 –