2012-01-17 30 views
16

Una de mis alertas está dando el siguiente resultado:¿Qué significa [object Object]? (JavaScript)

[object Object] 

¿Qué quiere decir exactamente esto? (Esta era una alerta de algún objeto jQuery.)

+0

Vea también [¿qué significa \ [object Object \]?] (Http://stackoverflow.com/q/4750225/1048572) – Bergi

Respuesta

23

Significa que está alertando sobre una instancia de un objeto. Cuando se llama al objeto alert ing, se llama al objeto toString() y la implementación predeterminada devuelve [object Object].

var objA = {}; 
var objB = new Object; 
var objC = {}; 

objC.toString = function() { return "objC" }; 

alert(objA); // [object Object] 
alert(objB); // [object Object] 
alert(objC); // objC 

Si desea examinar el objeto, se debe tampoco console.log que, JSON.stringify(), o enumerar más de sus propiedades e inspeccionar de forma individual utilizando for in.

4

La función de alerta() no puede mostrar un objeto de forma que se pueda leer. Intente usar console.log (object) en su lugar, y encienda la consola de su navegador para depurar.

+0

Este comentario responde perfectamente a lo que estaba tratando de descifrar. –

3

Escribí esta respuesta en otra pregunta que fue duplicada, y pronto quiero poner la respuesta más cerca, así que cualquier forma aquí es mi respuesta. mis dos centavos, y espero que alguien más ayude de cualquier manera.

Como @Matt respondió la razón de [object object] por lo que tiene tres opciones JSON.stringify(JSONobject), console.log(JSONobject) o iterar sobre el objeto, mire el siguiente ejemplo básico.

var jsonObj={ 
    property1 : "one", 
    property2 : "two", 
    property3 : "three", 
    property4 : "fourth", 
}; 

var strBuilder = []; 
for(key in jsonObj){ 
     if (jsonObj.hasOwnProperty(key)) { 
     strBuilder.push("Key is " + key + ", value is " + jsonObj[key] + "\n"); 
    } 
} 

alert(strBuilder.join("")); 

https://jsfiddle.net/b1u6hfns/

0

alertas no son los mejores para la visualización de objetos. Pruebe console.log? Si todavía ve Object Object en la consola, use JSON.parse de la siguiente manera>var obj = JSON.parse(yourObject); console.log(obj)

+0

No, 'JSON.parse' no ayuda. – Bergi

Cuestiones relacionadas