caller 속성 예제
중요 항목 : caller, toString, if...else..., function, return

중요 항목 : caller, function, if...else..., return
최상위에서 호출하였다.
최상위에서 호출하였다.
<SCRIPT>
function testFunc(){
  if (arguments==null) return ('최상위에서 호출하였다.');
  else return (arguments.caller+'에서 호출하였다.');
}
document.write(testFunc()+'<BR>');

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

중요 항목 : caller, toString, if...else..., function, return
상위에서 호출
CallLevel.toString=function toString() { [native code] }

CallLevel은 맨 위 수준에서 호출되었다.
null

subCall.toString=function toString() { [native code] }
subCall은 다른 기능에서 호출되었다.
function CallLevel(pos){ str='CallLevel.toString='+CallLevel.toString+br; if (CallLevel.caller==null) str+=br+'CallLevel은 맨 위 수준에서 호출되었다.' else str+=br+'CallLevel은 다른 기능에서 호출되었다.'; str+=br+''+CallLevel.caller+''+br+br; subCall(pos); }
onLoad에서 호출
CallLevel.toString=function toString() { [native code] }

CallLevel은 다른 기능에서 호출되었다.
function onload(event) { CallLevel(1) }

subCall.toString=function toString() { [native code] }
subCall은 다른 기능에서 호출되었다.
function CallLevel(pos){ str='CallLevel.toString='+CallLevel.toString+br; if (CallLevel.caller==null) str+=br+'CallLevel은 맨 위 수준에서 호출되었다.' else str+=br+'CallLevel은 다른 기능에서 호출되었다.'; str+=br+''+CallLevel.caller+''+br+br; subCall(pos); }

<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><! 상위에서 호출(기능 속에서 호출한 것이 아니라)>
property
caller 속성 예제
이전페이지로페이지 맨위로
최종 수정:
05/03/2025 13:25:46
KoXo Homepage
All right reserved
비정상적인 방식으로 프레임없이 페이지에 접속하면 자주 오류가 발생됩니다.
오류가 나면 정상적 접속으로 시도해 보세요.
http://koxo.com/lang/js/property/exp/xcaller.html