我在函数回调(尤其是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而不是立即调用该函数。
使用正确的语法在PositionObj中声明属性。




PositionObj = {
    lat: null,
    lon: null,
}

07-28 02:39
查看更多