자바스크립트 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,636건 75 페이지
  • RSS
기술자료 목록
1156
MSSQL   20198  2012-05-21 20:44  
1155
ClassicASP   24468  2012-05-21 20:28  
1154
.NET   26645  2012-05-18 17:50  
1153
ClassicASP   18935  2012-05-18 17:28  
1152
ClassicASP   19916  2012-05-18 14:28 ~ 2012-05-25 00:00  
1151
MSSQL   18214  2012-05-18 04:49  
1150
HTML   31848  2012-05-17 14:58 ~ 2018-06-15 14:17  
1149
SQL   13392  2012-05-17 13:46  
1148
JSP   22004  2012-05-16 20:28  
1147
JavaScript   16943  2012-05-15 01:04 ~ 2022-01-30 23:52  
1146
HTML   13813  2012-05-14 15:43 ~ 2014-06-16 00:00  
1145
전자결제   28566  2012-05-12 15:15  
1144
전자결제   18846  2012-05-12 14:47  
1143
HTML   14572  2012-05-10 22:10  
1142
JavaScript   15510  2012-05-10 21:08  
열람
JavaScript   19111  2012-05-06 23:58  
1140
JavaScript   27937  2012-05-06 23:23  
1139
JavaScript   13693  2012-05-06 23:22  
1138
HTML   51032  2012-05-04 23:17 ~ 2016-05-11 00:00  
1137
JavaScript   21200  2012-05-03 13:48  

검색

해피정닷컴 정보

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

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