函数中定义的全局Javascript变量

Global Javascript variables defined in the function

本文关键字:Javascript 变量 全局 定义 函数      更新时间:2023-09-26

我试图使变量lat和loc全局,但它们总是零。

var lat=0;
var loc=0;
navigator.geolocation.getCurrentPosition(function(position) {
     lat = position.coords.latitude;
     loc = position.coords.longitude;
});
alert(lat); // this eqals zero 

这是一个异步调用!使用这种方式:

navigator.geolocation.getCurrentPosition(function(position) {
    lat = position.coords.latitude;
    loc = position.coords.longitude;
    alert (lat);
});

背景

当您激发alert(lat)时,getCurrentPosition()不会激发,您的值可能没有设置。如果你想做某件事,把它放在函数中或调用它。

navigator.geolocation.getCurrentPosition(function(position) {
    lat = position.coords.latitude;
    loc = position.coords.longitude;
    // Something like this.
    calculate (lat, loc);
});