<SCRIPT>
function testFunc(){
  if (arguments==null) return ('ÃÖ»óÀ§¿¡¼­ È£ÃâÇÏ¿´´Ù.');
  else return (arguments.caller+'¿¡¼­ È£ÃâÇÏ¿´´Ù.');
}
document.write(testFunc()+'<BR>');

function callertest(){
  document.(testFunc());
}
callertest();
</SCRIPT>

<head>
<SCRIPT language=javascript>
var str='', br='<BR>';
function CallLevel(pos){
  str+='CallLevel.toString='+CallLevel.toString+br;
  if (CallLevel.caller==null) str+=br+'CallLevelÀº ¸Ç À§ ¼öÁØ¿¡¼­ È£ÃâµÇ¾ú´Ù.';
  else str+=br+'CallLevelÀº ´Ù¸¥ ±â´É¿¡¼­ È£ÃâµÇ¾ú´Ù.';
  str+=br+'<FONT color=red>'+CallLevel.caller+'</FONT>'+br+br;
  subCall(pos);
}

function subCall(pos){
  str+='subCall.toString='+subCall.toString+br;
  if (subCall.caller==null){ str+='subCallÀº ¸Ç À§ ¼öÁØ¿¡¼­ È£ÃâµÇ¾ú´Ù.';
  else str+='subCallÀº ´Ù¸¥ ±â´É¿¡¼­ È£ÃâµÇ¾ú´Ù.';
  str+=br+'<FONT color=blue>'+subCall.caller+'</FONT>'+br;

  if (pos==0) showarea0.innerHTML='<b>»óÀ§¿¡¼­ È£Ãâ</b>'+br+str; // »óÀ§¿¡¼­ È£Ãâ(±â´É ¼Ó¿¡¼­ È£ÃâÇÑ °ÍÀÌ ¾Æ´Ï¶ó) °á°ú Ãâ·Â
  if (pos==1) showarea1.innerHTML='<b>onLoad¿¡¼­ È£Ãâ</b>'+br+str; // onLoad CallerÀÇ °á°ú Ãâ·Â
  if (pos==2) showarea2.innerHTML='<b>onClick¿¡¼­ È£Ãâ</b>'+br+str; // onClick CallerÀÇ °á°ú Ãâ·Â
  return(str); // °á°úÄ¡ µ¹·ÁÁÜ
}
</SCRIPT>

<STYLE type="text/css">
div.showarea {border:solid 1 #ada;padding:5;font-size:9pt;color:026;background:dff}  /* Ãâ·Â À§Ä¡ ½ºÅ¸ÀÏ ÁöÁ¤ */
</STYLE>
</head>

<body onload="CallLevel(1)">
<DIV id="showarea0" class=showarea title="°á°ú0"></DIV><! »óÀ§¿¡¼­ È£Ãâ(±â´É ¼Ó¿¡¼­ È£ÃâÇÑ °ÍÀÌ ¾Æ´Ï¶ó) °á°ú Ãâ·Â À§Ä¡>
<DIV id="showarea1" class=showarea title="°á°ú1"></DIV><! onLoad¿¡¼­ È£Ãâ °á°ú Ãâ·Â À§Ä¡>
<INPUT type="button" value="Ŭ¸¯ÇÏ¿© °á°ú¸¦ º¸¶ó" onclick="CallLevel(2)"><! Ŭ¸¯À¸·Î ±â´É È£Ãâ ÇÔ>
<DIV id="showarea2" class=showarea title="°á°ú2"></DIV><! onClick¿¡¼­ È£Ãâ °á°ú Ãâ·Â À§Ä¡>
<SCRIPT>CallLevel(0);</SCRIPT><! »óÀ§¿¡¼­ È£Ãâ(±â´É ¼Ó¿¡¼­ È£ÃâÇÑ °ÍÀÌ ¾Æ´Ï¶ó)>