CODEDRAGON ㆍDevelopment/JavaScript, jQuery, ...
메소드 호출시 this바인딩
객체의 프로퍼티가 함수일 경우, 이함수를 메소드라고 합니다.
이 메소드를 호출할 때, 메소드 내부 코드에서 사용된 this는 해당 메소드를 호출한 객체로 바인딩됩니다.
소스 코드
<html>
<head>
<meta charset="UTF-8">
<title>메소드 호출시 this바인딩</title>
<script type="text/javascript">
//thisObject 객체 생성
var thisObject = {
name: 'Object1',
getName: function () {
// this는 자신을 호출한 객체에 바인딩됩니다.
document.write(this.name +'<br>');
}
};
// ohterObject 객체 생성
var otherObject = {
name: 'Object2'
};
// otherObject.getName() 메서드
otherObject.getName = thisObject.getName;
// getName() 메서드 호출
//thisObject객체 에서 호출되었으므로, 이메소드의 this는 thisObject객체를 가리킵니다(바인딩됩니다).
thisObject.getName();
//otherObject객체에서 호출되었으므로, 이메소드의 this는 otherObject객체를 가리킵니다(바인딩됩니다).
otherObject.getName();
</script>
</head>
<body>
</body>
</html>
출처: <https://github.com/10zeroone/study_javascript/blob/master/WebContent/ch04-function/31.html>
this 호출 도식도
'Development > JavaScript, jQuery, ...' 카테고리의 다른 글
객체 (Object) (0) | 2014.08.19 |
---|---|
전역객체, 전역변수, this바인딩 (0) | 2014.08.17 |
arguments 객체 이용 (0) | 2014.08.08 |
arguments 객체 (0) | 2014.08.06 |
매개변수 (0) | 2014.08.04 |