자바스크립트 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 152건 4 페이지
  • RSS
기술자료 목록
92
JavaScript   18565  2013-01-14 20:23  
91
JavaScript   20726  2012-12-22 22:47  
90
JavaScript   16038  2012-10-30 08:25  
89
JavaScript   29961  2012-10-17 21:33 ~ 2018-07-04 15:57  
88
JavaScript   15812  2012-10-08 21:15  
87
JavaScript   34723  2012-10-08 19:47  
86
JavaScript   37989  2012-10-04 13:49  
85
JavaScript   15619  2012-09-18 05:44 ~ 2013-07-02 00:00  
84
JavaScript   29391  2012-09-07 19:33 ~ 2017-12-01 14:36  
83
JavaScript   21997  2012-08-23 01:18  
82
JavaScript   21032  2012-06-23 23:47  
81
JavaScript   15769  2012-06-23 23:45  
80
JavaScript   36210  2012-06-21 05:20 ~ 2022-11-18 13:06  
79
JavaScript   27481  2012-06-05 00:48  
78
JavaScript   30920  2012-05-26 01:23 ~ 2020-04-08 09:26  
77
JavaScript   31635  2012-05-24 03:56  
76
JavaScript   17139  2012-05-15 01:04 ~ 2022-01-30 23:52  
75
JavaScript   15717  2012-05-10 21:08  
열람
JavaScript   19303  2012-05-06 23:58  
73
JavaScript   28168  2012-05-06 23:23  

검색

해피정닷컴 정보

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

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