[javascript] JavaScript 객체를 표시하려면 어떻게해야합니까?

alert변수 와 같이 JavaScript 객체의 내용을 문자열 형식으로 표시하려면 어떻게합니까 ?

객체를 표시하려는 것과 동일한 형식의 방법입니다.



답변

디버깅 목적으로 객체를 인쇄하려면 다음 코드를 사용하십시오.

var obj = {prop1: 'prop1Value', prop2: 'prop2Value', child: {childProp1: 'childProp1Value'}}
console.log(obj)

표시됩니다 :

스크린 샷 콘솔 크롬

참고 : 개체 기록 해야 합니다. 예를 들어, 작동하지 않습니다.

console.log('My object : ' + obj)

참고 ‘ : log메소드에 쉼표를 사용할 수도 있습니다. 그러면 출력의 첫 번째 행이 문자열이되고 그 후에 오브젝트가 렌더링됩니다.

console.log('My object: ', obj);


답변

기본 JSON.stringify방법을 사용하십시오 . 중첩 객체와 함께 작동하며 모든 주요 브라우저 가이 방법을 지원 합니다.

str = JSON.stringify(obj);
str = JSON.stringify(obj, null, 4); // (Optional) beautiful indented output.
console.log(str); // Logs output to dev tools console.
alert(str); // Displays output using window.alert()

링크 모질라 API 참조 및 다른 예.

obj = JSON.parse(str); // Reverses above operation (Just in case if needed.)

이 Javascript 오류가 발생하면 사용자 정의 JSON.stringify 대체기를 사용하십시오.

"Uncaught TypeError: Converting circular structure to JSON"


답변

var output = '';
for (var property in object) {
  output += property + ': ' + object[property]+'; ';
}
alert(output);


답변

console.dir(object):

지정된 JavaScript 객체의 속성을 대화식으로 표시합니다. 이 목록을 사용하면 펼침 삼각형을 사용하여 자식 개체의 내용을 검사 할 수 있습니다.

console.dir()기능은 비표준입니다. 참조 MDN 웹 문서를


답변

이 시도 :

console.log(JSON.stringify(obj))

그러면 stringify 버전의 객체가 인쇄됩니다. 따라서 [object]출력 대신 객체의 내용을 얻습니다.


답변

Firefox (자세한 정보는 @Bojangles 덕분에)에는 Object.toSource()객체를 JSON 및로 인쇄하는 방법이 있습니다 function(){}.

그것은 대부분의 디버깅 목적으로 충분합니다.


답변

경고를 사용하여 객체를 인쇄하려면 다음을 수행하십시오.

alert("myObject is " + myObject.toSource());

각 속성과 해당 값을 문자열 형식으로 인쇄해야합니다.