타사 애드온 / 애플리케이션 또는 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