Parece que no puedo acceder al contenido del objeto creado. Aquí está mi código:
function showPosition() { var geopos = new Object(); if(navigator.geolocation) { navigator.geolocation.getCurrentPosition(function(position) { geopos.lat= parseFloat(position.coords.latitude); geopos.long= parseFloat(position.coords.longitude); console.log(geopos['long']);// Displays the information fine }); } else { geopos['error']= "Sorry, your browser does not support HTML5 geolocation."; } console.log(geopos); //Shows the object fine console.log(geopos.lat); //undefined return geopos; }Como puede ver en los comentarios, estoy sin definir aquí. ¿Cómo puedo acceder a esta información? También probé con la otra notación geopos['lat'] y funciona exactamente igual. También probé con las respuestas de ¿Cómo puedo mostrar un objeto JavaScript? con el siguiente resultado:
console.log(JSON.parse(JSON.stringify(geopos))); //empty object console.log(JSON.stringify(geopos));//"{}" console.log(Object.keys(geopos));//empty array console.log(Object.values(geopos));//empty arrayPero si saco el objeto completo (con console.log(geopos)) obtengo los valores correctos en la consola así:
Objeto { } lat: 43.85249638386875 long: -9.65398821778 : Objeto { … }
¿Cómo puedo acceder al contenido de estos objetos y por qué no funciona?