¿Guardar variables fuera de navigator.geolocation.getCurrentPosition? (javascript)

Estoy tratando de jugar con el alcance de js para extraer una variable de navigator.geolocation.getCurrentPosition

var lat;
function callback (position) {
    lat = position.coords.latitude;
}
navigator.geolocation.getCurrentPosition(callback,fail,{timeout:10000});
// after getCurrentPosition succeeds
alert(lat); // this alerts null

El código anterior no puede almacenar position.coords.latitude en la variable lat debido al alcance. ¿Hay alguna forma de hacer esto

Respuestas a la pregunta(4)

Su respuesta a la pregunta