不是那么全局变量?

Not so global variable?

全局变量在函数中传递时不会改变,为什么?

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);

提前致谢。

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