this를 특정 객체에 명시적으로 바인딩 시키는 방법
apply()
function.apply(thisArg, argArray)
thisArg, 메서드를 호출한 함수 내부에서 사용한 this에 바인딩할 객체
argArray, 함수를 호출할 때 넘길 인자들의 배열
function Person(name, age){
this.name = name;
this.age = age;
return 100;
}
var illua = {};
Person.apply(illua, ['illua', 50]);
call()
apply()와 동일하지만 넘겨주는 인자를 각 하나의 인자로 넘기는 차이만 있음
Person.call(illua, 'illua', 50);
함수리턴
1.일반 함수나 메서드는 리턴값을 지정하지 않을 경우 undefined값 리턴
2.생성자 함수에서 리턴값을 지정하지 않을 경우 생성된 객체 리턴
*리턴으로 지정한 값이 객체가 아닌 불린, 숫자, 문자열의 경우
리턴값을 무시하고 this로 바인딩된 객체 리턴
var illua = new Person('illua2', 40);
console.log(illua); //결과 : Person { name: 'illua', age: 40}
반응형
'학습 log (이론) > javascript' 카테고리의 다른 글
'프로토타입 체이닝' 상세 (0) | 2016.10.19 |
---|---|
'프로토타입 체이닝' 정의 (0) | 2016.10.17 |
'생성자 함수를 이용한 객체 생성과 this #2' 함수와 프로토타입 체이닝 (0) | 2016.10.17 |
'함수호출과 this #1' 함수와 프로토타입 체이닝 (0) | 2016.10.16 |
'함수의 다양한 형태' 함수와 프로토타입 체이닝 (0) | 2016.10.16 |