javascript 에서 window 객체가 최상위 객체라고 하길래
어떤 객체들이 있나, 어떤 함수들이 있나 for...in 을 이용해서 출력했다.
하지만 출력하다 죽는 문제가 있어 해결방법을 찾던중
try..catch 문이란게 있었고 e.message 로 메시지를 출력하면 계속 진행하는 것을 발견했다.

음.. 문법은 거의 C++에 가까운 느낌이라고 해야하나..

<html>
<script type="text/javascript">
document.write("<hr><H1>window</H1>");
for (i in window)
{
  try
  {
    if(typeof(window[i]) == 'object')
          document.write("<B>",i,"</B><br>");
    else  document.write(window[i], "<br>");
  }
  catch(e)
  {
    document.write(i,"-");
    document.write("<font color=red>",e.message, "</font><br>");
  }
}

document.write("<hr><H1>document</H1>");
for (i in document)
{
  try
  {
    if(typeof(document[i]) == 'object')
          document.write("<B>",i,"</B><br>");
    else  document.write(document[i], "<br>");
  }
  catch(e)
  {
    document.write(i,"-");
    document.write("<font color=red>",e.message, "</font><br>");
  }
}

document.write("<hr><H1>location</H1>");
for (i in location)
{
  try
  {
    if(typeof(location[i]) == 'object')
          document.write("<B>",i,"</B><br>");
    else  document.write(location[i], "<br>");
  }
  catch(e)
  {
    document.write(i,"-");
    document.write("<font color=red>",e.message, "</font><br>");
  }
}

document.write("<hr><H1>history</H1>");
for (i in history)
{
  try
  {
    if(typeof(history[i]) == 'object')
          document.write("<B>",i,"</B><br>");
    else  document.write(history[i], "<br>");
  }
  catch(e)
  {
    document.write(i,"-");
    document.write("<font color=red>",e.message, "</font><br>");
  }
}

document.write("<hr><H1>navigator</H1>");
for (i in navigator)
{
  try
  {
    if(typeof(navigator[i]) == 'object')
          document.write("<B>",i,"</B><br>");
    else  document.write(navigator[i], "<br>");
  }
  catch(e)
  {
    document.write(i,"-");
    document.write("<font color=red>",e.message, "</font><br>");
  }
}
</script>
</html>

더보기


'Programming > javascript & HTML' 카테고리의 다른 글

javascript / XML - XMLHttpRequest  (2) 2010.07.23
javascript - alert() confirm() prompt()  (6) 2010.07.20
javascript 객체출력  (8) 2010.07.20
javascript - for / for .. in  (0) 2010.07.18
javascript - 변수 타입  (0) 2010.07.18
javascript template  (0) 2010.07.18
Posted by 구차니

댓글을 달아 주세요

  1. 아~~~아~~~악!!!
    보기 싫은데요.. --;;;;

    2010.07.20 16:41 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • 아름답지 않습니까!? ㅋㅋㅋ
      C언어로만 하다가 javascript라는 언어를 만지니 느낌이 좋네요 ㅎ 너무 C에만 얽매여 있었던게 아닐까 하는 후회도 들구요 ㅎ

      2010.07.20 16:42 신고 [ ADDR : EDIT/ DEL ]
  2. 흠.. 구차니님을 javascipt로 객체지향 프로그래밍을 할 수 있는 묘미에 한번 빠뜨려보고싶군요.
    시간이 되면 한번 전수받아 보실래요?
    javascript가 워낙 동적언어인지라 Object를 컨트롤하고 생성하고 체인할 수 있는 다양한 기법들이 존재해요.
    API를 넘어서 구조론쪽으로 공부하다보면 어느새 javascript로 프레임웍도 만들 수 있는 시간이 올껍니다.

    2010.07.23 04:26 신고 [ ADDR : EDIT/ DEL : REPLY ]
  3. 오오.. 역시 관련 업계 모두가 군침을 흘린다는 대리급 인력....ㅋ
    며칠만에 이런 단계까지..ㄷㄷㄷ

    2010.07.23 09:13 [ ADDR : EDIT/ DEL : REPLY ]
  4. 스크립트윈

    저도 3년전에 위와 같은 코드로 작성해서 봤었는데..
    그냥 객체를 들여다 보려고 하니까 안되더군요..

    그래서 프레임을 생성해서 거기에 document.write로 찍어주니 대부분 에러 없이 다 나오더군요.

    그런데,
    dom api 객체들을 몇단계 더 들여다보려고 하다보니 에러가 발생해서 try catch로 묶었다는..
    뭐.. 못보는 건 못보나 봅니다.

    암튼 지나가다 저랑 같은 분이 있으셔서...ㅎ

    2010.11.02 15:45 [ ADDR : EDIT/ DEL : REPLY ]
    • 해보신분들은 계시는거 같은데 소스는 왜 눈에 안띨까요 ㅠ.ㅠ
      아무튼, IE랑 FF 도 DOM 객체가 다른게 눈에는 띄는데 브라우저 별로 출력하는 객체도 다르다 보니 좀 아쉽더라구요 ^^

      2010.11.02 16:33 신고 [ ADDR : EDIT/ DEL ]