2017-07-19 90 views
0

当通过函数传递时,全局变量不会改变,为什么?不是全球变量吗?

var userLat = 0; 
var userLong = 0; 

if (navigator.geolocation) { 
    navigator.geolocation.getCurrentPosition(function(position) { 
    userLat = position.coords.latitude; 
    userLong = position.coords.longitude; 
    }); 
} 
$("#loc").html(userLat + "<br>" + userLong); 

在此先感谢。

回答

0

因为navigator.geolocation.getCurrentPosition是一个异步函数(就像ajax调用一样)。 技术上,$("#loc").html(userLat + "<br>" + userLong);在响应可用之前执行。