2009-07-06 2 views
4

크롬에서 Javascript Debugger (Ctrl + Shift + L)를 열고 코드에서 중단 점을 설정하기 시작했습니다.Chrome JS 디버거에서 객체의 모든 속성을 인쇄하려면 어떻게해야합니까?

이것은 Firebug와는 매우 다른 인터페이스입니다 (모든 명령 행이 구동 됨). 따라서 객체의 모든 속성을 인쇄하는 것과 같은 간단한 작업을 수행하는 방법이 궁금합니다.

이 같은 객체가있는 경우 : I 중단 점을 설정하고 개체를 검사 할 수 있습니다

var opts = { 
    prop1: "<some><string/></some>", 
    prop2: 2, 
    prop3: [1,2,3] 
} 

,하지만 난 단지 다시 하나의 속성을 얻을 것, 나는 속성이 나타납니다 확실하지 않다 :

$ print for(var p in opts) p; 
prop1 

모든 아이디어 : 모든 속성을 얻으려고 노력

$ print opts 
#<an Object> 

? 분명히 하나 이상의 것을 가지고 있습니다 ...

답변

0

그래서 해봤를 사용할 수 있도록 크롬, ECMA-스타일 네이티브 JSON을 가지고 있으며, 그것은 나에게 무엇인가를 줄 이상 :

$dir opts 
3 properties 
prop1: string (#11#) 
prop2: string (#12#) 
prop3: string (#13#) 

이것도 작동합니다 (약간의 가치가 있기 때문에 약간 더 좋습니다). 너무 길면 문자열의 끝을 자릅니다.

$ print var s=[];for(var p in opts) { s.push(p + ":" + opts[p]); } s.join(","); 
prop1:<some><string/></some>,prop2:2,prop3:[object Object] 
0

Inspector (Ctrl+Shift+J) 하단의 JavaScript 콘솔에서 명령 줄을 사용해보십시오. 그것은 훨씬 더 방화범과 같은 느낌을 가지고 있습니다.

+0

을 어떻게 검사기를 사용하여 중단 점을 설정합니까?를 내 문제는 실행을 일시 중지하고 객체의 값을 검사하려고한다는 것입니다. –

6

당신은 "DIR"명령을 사용하여

JSON.stringify (opts); 
{"prop1":"<some><string/></some>","prop2":2,"prop3":[1,2,3]} 
+0

이것은 알아두면 좋지만 디버거에서는 작동하지 않는 것 같습니다. (ReferenceError : JSON이 정의되지 않았습니다.) –

0

Chrome 디버거 명령 줄에 객체 이름을 입력하고 찾아보기 목록을 얻을 수 있습니다. 필자의 경우에는 외부 문서에 잘라내거나 붙여 넣을 수있는 모든 속성과 메서드가 필요했습니다. 이것은 나를 위해 일한 :

for (a in opts) console.log(typeof (opts[a]) + ' :: ' + a); 

반환 :

string :: id 
string :: name 
number :: selectMode 
string :: url 
boolean :: multi 
object :: selectedRows 
object :: selectedValues 
function :: Load 
function :: _LoadInternal 
function :: _CreatePostElements 
...etc... 
관련 문제