不是全球变量吗?
问题描述:
当通过函数传递时,全局变量不会改变,为什么?不是全球变量吗?
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);
在响应可用之前执行。