• 회원가입
  • 로그인
  • 구글아이디로 로그인

[Functions] JS - call() 메서드 - 함수호출방법2 (= call메서드 = 콜메서드)

목차
  1. 모든 함수는 메서드에 해당
  2. this 키워드
  3. call() 메서드 정의
  4. call() 메서드 예제 - 독립변수 사용

※ call() 메서드 사용하면, 다른 객체에서 사용 가능한 메서드 작성 가능.

 

모든 함수는 메서드에 해당

 

  • JS에서 모든 함수는 객체 메서드에 해당.
  • 만약, 함수가 JS 객체의 메서드 아닌 경우, 그것은 전역객체의 함수임. 여기참고

 


[예제]

 

<p id="demo"></p>


<script>

var mySite = { // 3개 속성 (site, host, plus) 가진 객체 생성

  site:"홈짱닷컴",

  host: "Homzzang.com",

  plus: function() {

    return this.site + " " + this.host;

  }

}

x = mySite.plus();

document.getElementById("demo").innerHTML = x

</script>

 

결과보기

 

this 키워드

 

함수 정의에서 this 키워드는 함수 소유자를 의미.

  • 위 예 경우, this는 plus() 함수 소유하는 mySite 객체 의미.
  • 즉, this.plus 코드는 this 객체 (= mySite) 객체의 plus 속성 의미.
  • 더 자세히 보기

 

 

call() 메서드 정의

 

객체가 다른 객체에 속하는 메서드 이용 가능케 함. (아래 예제)

  1. call() 메서드는 미리 정의된 JS 메서드임.
  2. 소유자 객체를 독립변수로 사용해 메소드 언급(=호출)하는 데 사용.

  


[예제]

 

<p id="demo"></p>


<script>

var site = {

  plus: function() {

    return this.name + " " + this.host;

  }

}

var site1 = {

  name: "홈짱닷컴",

  host: "Homzzang.com"

}

var site2 = {

  name:"그누보드",

  host: "sir.kr"

}

var x = site.plus.call(site1); //  site1에서 site의 plus 메서드 호출

var y = site.plus.call(site2); //  site2에서 site의 plus 메서드 호출

document.getElementById("demo").innerHTML = x + "<br>" + y;   

</script>

 

 

결과보기

홈짱닷컴 Homzzang.com

그누보드 sir.kr

 

call() 메서드 예제 - 독립변수 사용

 

<p id="demo"></p>


<script>

var site = {

  plus: function(open, intro) {

    return this.name + " " + this.host + " (" + open + ") : " + intro;

  }

}

var site1 = {

  name: "홈짱닷컴",

  host: "Homzzang.com"

}

var site2 = {

  name: "그누보드",

  host: "sir.kr"

}

var x = site.plus.call(site1, "2012", "홈페이지 제작강의"); 

var y = site.plus.call(site2, "2001", "그누보드5 영카트");

document.getElementById("demo").innerHTML = x + "<br>" + y; 

</script>

 

결과보기

홈짱닷컴 Homzzang.com (2012) : 홈페이지 제작강의
그누보드 sir.kr (2001) : 그누보드5 영카트



분류 제목
DOM JS - CSS - 스타일변경
DOM JS - Animation - 애니메이션 (= 동적효과 = 움직임효과)
DOM JS - Events - 이벤트 2
DOM JS - addEventListener() 메서드 ★★★★★ - 이벤트 걸기 (= addEventListen…
DOM JS - Navigation - 노드탐색 (= 요소탐색) ※ 텍스트노드복사
DOM JS - Node - 노드추가, 노드삭제, 노드변경 (= 노드생성, 노드제거, 노드교체)
DOM JS - Collection - HTML요소집합 (= HTML요소묶음)
BOM JS - Window BOM - 윈도우 브라우저객체모델 (BOM: Browser Object Model)
BOM JS - Window Screen 객체 - 화면객체 (= 스크린객체 = screen객체)
BOM JS - Window Location 객체 - 위치객체 (= 로케이션객체 = Location객체) ※ loc…
BOM JS - Window History 객체 - 이력객체 (= 히스토리객체 = History객체 = 뒤로가기 +…
BOM JS - Window Navigator 객체 - 브라우저객체 (= 네이게이터객체 = Navigator객체 =…
BOM JS - Popup Boxes - 팝업상자 (= 팝업박스 = Alert Box + Confirm box + …
BOM JS - Timing Events ★ - 시간간격 코드실행 (= 타이밍 이벤트 = 시간이벤트 = 일정시간별 …
BOM JS - Cookie (쿠키) 사용법 ★★★ - 쿠키 (설정・생성) / 쿠키 (읽기・얻기・가져오기) / 쿠…
AJAX JS - AJAX (아작스) 소개
AJAX JS - AJAX - XMLHttpRequest() 메서드 ★ - 객체생성 (= 아작스/에이잭스 핵심 = X…
AJAX JS - AJAX - open()/send() 메서드 ★ - 서버에 요청 보내기 (GET방식 vs POST방…
AJAX JS - AJAX - Server Response (서버응답) - 콜백함수 사용 예제
AJAX JS - AJAX - XML 아작스 예제 (= xml 데이터 불러와 표만들기)
4/67
목록
찾아주셔서 감사합니다. Since 2012