2012-01-17 1 views

답변

23

개체의 인스턴스를 경고하고 있음을 의미합니다. 개체가 alert 인 경우 개체에 toString()이 호출되고 기본 구현은 을 반환합니다. 개체를 검사하려면

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

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

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

, 당신은해야 하나 console.log을, JSON.stringify()는, 또는 속성을의 이상 열거하고 그들이 for in를 사용하여 개별적으로 검사합니다.

4

alert() 함수는 읽기 쉬운 방식으로 객체를 출력 할 수 없습니다. 대신 console.log (객체)를 사용하고 브라우저의 콘솔을 실행하여 디버그하십시오.

+0

이 설명은 내가 알아 내려고 시도했던 것에 완벽하게 응답합니다. –

3

나는이 질문에 답을 적어 두었고 곧 대답을하고 싶습니다. 여기에 어떤 식 으로든 대답은 나와 있습니다. 내 두 센트, 그리고 어떤 식 으로든 다른 도움이되기를 바랍니다.

@Matt가 [object object]의 이유로 대답 했으므로 JSON.stringify(JSONobject), console.log(JSONobject)의 세 가지 옵션이 있거나 개체를 반복 할 때 다음 기본 예제를 확인하십시오.

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

경고 개체를 표시하기위한 최선이 아니다. console.log를 사용해 보시겠습니까? 콘솔에 객체 객체가 여전히 표시되면 JSON.parse를 다음과 같이 사용하십시오.>var obj = JSON.parse(yourObject); console.log(obj)

+0

아니요, 'JSON.parse'가 도움이되지 않습니다. – Bergi

관련 문제