我试图在函数外获取变量的值,但我做不到。请给出答案
<script>
var lati;
var lngi;
function getLocation() {
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(showPosition);
}
initialize();
}
function showPosition(position)
{
lati=position.coords.latitude;
lngi=position.coords.longitude;
}
alert(lati);
</script>
最佳答案
你没有得到你的值,因为你没有调用 getLocation()
函数。因为您没有调用它,所以它永远不会更改 lati
的值,然后显示它的默认值,即 undefined
。
// ------------------------ FUNCTIONS TO SIMULATE
const navigator = {
geolocation: {
getCurrentPosition: (func) => {
func({
coords: {
latitude: '0.5125',
longitude: '51.545',
},
});
},
},
};
function initialize() {
}
// ------------------------ FUNCTIONS TO SIMULATE
var lati;
var lngi;
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
}
initialize();
}
function showPosition(position) {
lati = position.coords.latitude;
lngi = position.coords.longitude;
}
getLocation();
alert(lati);
关于javascript - 获取函数外变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52331912/