[javascript] 객체 덤프 JavaScript

타사 애드온 / 애플리케이션 또는 JavaScript 객체에 대한 스크립트 디버거에서 객체 맵 덤프를 수행하는 방법이 있습니까?

상황은 다음과 같습니다. 메소드가 두 번 호출되고 매번 다른 것이 있습니다. 무엇이 다른지 잘 모르겠지만 뭔가 있습니다. 따라서 window (또는 적어도 window.document)의 모든 속성을 텍스트 편집기에 덤프 할 수 있다면 두 호출 간의 상태를 간단한 파일 diff로 비교할 수 있습니다. 생각?



답변

방화범 +console.log(myObjectInstance)


답변

console.log("my object: %o", myObj)

그렇지 않으면 때때로 다음과 같은 문자열 표현이 표시됩니다.

[object Object]

또는 일부.


답변

function mydump(arr,level) {
    var dumped_text = "";
    if(!level) level = 0;

    var level_padding = "";
    for(var j=0;j<level+1;j++) level_padding += "    ";

    if(typeof(arr) == 'object') {
        for(var item in arr) {
            var value = arr[item];

            if(typeof(value) == 'object') {
                dumped_text += level_padding + "'" + item + "' ...\n";
                dumped_text += mydump(value,level+1);
            } else {
                dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
            }
        }
    } else {
        dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
    }
    return dumped_text;
}


답변

Chrome, Firefox 또는 IE10 +를 사용하는 경우 콘솔을 확장하고

(function() {
    console.dump = function(object) {
        if (window.JSON && window.JSON.stringify)
            console.log(JSON.stringify(object));
        else
            console.log(object);
    };
})();

간결한 브라우저 간 솔루션을 제공합니다.


답변

다음을 사용하십시오.

console.dir(object);

클릭 가능한 멋진 객체 표현을 얻을 수 있습니다. Chrome 및 Firefox에서 작동


답변

Chrome / Chromium 용

console.log(myObj)

또는 동등합니다

console.debug(myObj)


답변

더 나은 가독성을 위해 다음과 같이 객체를 json 문자열로 변환 할 수 있습니다.

console.log(obj, JSON.stringify(obj));

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify