Javascript 未定义的变量/值

Javascript 未定义的变量/值,javascript,Javascript,我错过了什么 我正在创建一个简单的map应用程序,并打算使用lat/lon坐标对几个api进行一些ajax/php调用 我似乎无法访问数组的值(稍后我将在ajax调用中使用该值)。 我以前也遇到过类似的问题,并求助于从HTML元素中获取值,这毫无意义 window.addEventListener('load',()=>{ 让latlon=[] 函数getLocation(){ if(导航器.地理位置){ navigator.geolocation.getCurrentPosition(show

我错过了什么

我正在创建一个简单的map应用程序,并打算使用lat/lon坐标对几个api进行一些ajax/php调用

我似乎无法访问数组的值(稍后我将在ajax调用中使用该值)。 我以前也遇到过类似的问题,并求助于从HTML元素中获取值,这毫无意义

window.addEventListener('load',()=>{
让latlon=[]
函数getLocation(){
if(导航器.地理位置){
navigator.geolocation.getCurrentPosition(showPosition);
}否则{
document.getElementById(“信息”).innerHTML=“此浏览器不支持地理位置。”;
}
}
功能显示位置(位置){
设lat=位置坐标纬度;
设long=position.coords.longitude;
横向推力(横向,纵向)
document.getElementById(“信息”).innerHTML=`lat:${lat},long:${long}`
}
getLocation()
console.log(latlon[0])//返回未定义的
log(latlon)//返回带有2个坐标的数组
//代码继续。。。。。。
简言之,我的问题是为什么第一个控制台日志返回undefined,以及如何将值提取为字符串以允许插入到ajax调用中


提前感谢navigator.geolocation.getCurrentPosition本质上是异步的。这是否回答了您的问题?嘿,我不确定函数的异步性质是否会导致问题,因为我可以控制台。将信息作为一个整体记录下来,但只有当我尝试获取1个值时,我才有问题。让我们来解决这个问题今天晚些时候,我将进行更多的测试,并阅读VLAZ所说的内容。如果需要,我将使用JSFIDLE进行更新。干杯