자바스크립트 this 사용 > 기술자료 | 해피정닷컴

자바스크립트 this 사용 > 기술자료

본문 바로가기

사이트 내 전체검색

자바스크립트 this 사용 > 기술자료

JavaScript 자바스크립트 this 사용

페이지 정보


본문

자바스크립트에는 함수를 호출하는 4가지 방법이 있습니다.
각각의 방법에 따라 this 라는 매개변수를 다르게 초기화 합니다.
1. 매서드 호출
2. 함수 호출
3. 생성자 호출
4. apply 호출
 
 
1. 매서드 호출
함수를 객체의 속성에 저장하는 경우 이 함수를 매서드라 함
이때 this는 매서드를 포함하는 객체에 바인딩됩니다.
<script type="text/javascript">
  var obj={
    value:99,
    getValue:function() {
      alert(this.value);
    }
  };
 
  obj.getValue();  // 99 출력
</script>
 
 
2. 함수 호출
함수가 객체의 속성이 아닌 단순 함수(function)로서 호출될때,
객체의 속성에 저장하는 경우 이 함수를 매서드라 함
이때 this는 전역객체(자바스크립트에서 Global object는 window object 다)에 바인딩됩니다.
또는 함수가 page에 포함되어 있다면... this는 page의 "owner"(클래스...!?)에 해당
 
<script type="text/javascript">
  var doSomthing=function() {
    alert(this);  // window
  };
</script>
 
 
3. 생성자 호출
함수를 new 라는 전치 연산자와 함께 호출하면, 호출한 함수의 prototype 속성값에 연결된 링크를 갖는 객체가 생성이 되고 이때 this는 새로운 객체에 바인딩됩니다.
 
<script type="text/javascript">
  var object = function(str) {
    this.status=str;
  };
 
  obj.prototype.getStatus=function() {
    return this.status;
  }
 
  var myobj=new obj("going");
  myobj.getStatus();  // going 출력
</script>
 
 
4. apply(또는 call) 호출
apply 매서드는 this의 값을 선택할수 있도록 해준다.
apply 매서드에는 매개변수 두개가 있는데, 첫째는 this에 묶이게 될 값이며, 두번째는 매개변수들의 배열입니다.
 
<script type="text/javascript">
  var obj=function(str) {
    this.status=str;
  };
 
  var statusObj={
    status:'okok'
  };
 
  obj.prototype.getStatus.apply(statusObj); // okok 출력
</script>
 
 
관련자료

댓글목록

등록된 댓글이 없습니다.


Total 2,641건 75 페이지
  • RSS
기술자료 목록
1161
.NET   26287  2012-05-18 17:50  
1160
ClassicASP   18658  2012-05-18 17:28  
1159
ClassicASP   19667  2012-05-18 14:28 ~ 2012-05-25 00:00  
1158
MSSQL   18057  2012-05-18 04:49  
1157
HTML   31612  2012-05-17 14:58 ~ 2018-06-15 14:17  
1156
SQL   13199  2012-05-17 13:46  
1155
JSP   21780  2012-05-16 20:28  
1154
JavaScript   16726  2012-05-15 01:04 ~ 2022-01-30 23:52  
1153
HTML   13615  2012-05-14 15:43 ~ 2014-06-16 00:00  
1152
전자결제   28215  2012-05-12 15:15  
1151
전자결제   18657  2012-05-12 14:47  
1150
HTML   14375  2012-05-10 22:10  
1149
JavaScript   15320  2012-05-10 21:08  
열람
JavaScript   18943  2012-05-06 23:58  
1147
JavaScript   27660  2012-05-06 23:23  
1146
JavaScript   13523  2012-05-06 23:22  
1145
HTML   50769  2012-05-04 23:17 ~ 2016-05-11 00:00  
1144
JavaScript   21029  2012-05-03 13:48  
1143
일반   11926  2013-07-28 17:33  
1142
전자결제   16148  2012-05-02 23:28 ~ 2014-01-10 00:00  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2024 해피정닷컴. All Rights Reserved.