gpt4 book ai didi

JavaScript 不断返回 'undefined' ,但控制台日志完全没问题

转载 作者:行者123 更新时间:2023-12-02 17:35:35 25 4
gpt4 key购买 nike

我不明白为什么会得到这个结果,我从来没能掌握 JavaScript,因为与 Python 或 Java 相比,代码的不稳定行为总是让我感到害怕。

我需要变量lng_设置为当前经度,一旦我弄清楚了,我将对 lat_ 执行相同的操作。这是我的代码:

var lng_ = navigator.geolocation.getCurrentPosition(GetLong);
var lat_ = navigator.geolocation.getCurrentPosition(GetLat);

function GetLong(location)
{
console.log(location.coords.longitude);
var ret = location.coords.longitude;
return ret;
}

console.log(lng_);

function GetLat(location)
{
return(location.coords.latitude);
}

如果你看function GetLong(location)它应该返回经度值并包含 JavaScript 日志以显示其是否正常工作。

根据我的 JavaScript 日志,我得到了正确的结果

-122.15616500000002

但是当我将此值存储在 ret 中时并返回它,最终的console.log()提出undefined

JavaScript 如何知道它返回的对象类型是字符串还是整数?我的问题的解决方案是什么?

最佳答案

您只需使用回调函数调用一次getCurrentPosition(),调用时它实际上不会返回位置;原因是该职位不会立即可用:

function getPosition(location)
{
var lng_, lat_;

lng_ = location.coords.longitude;
lat_ = location.coords.latitude;

// do stuff with position here
}

navigator.geolocation.getCurrentPosition(GetPosition);

它的工作方式与 JavaScript 中其他异步操作的工作方式非常相似。

关于JavaScript 不断返回 'undefined' ,但控制台日志完全没问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22650927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com