티스토리 뷰

함수를 호출
1) 함수를 호출하는 다른 방법
함수는 function 객체의 인스턴스이므로, function의 apply 메소드로도 호출이 가능
o1 = {val1:1, val2:2, val3:3}
o2 = {v1:10, v2:50, v3:100, v4:25}
function sum(){
var _sum = 0;
for(name in this){ // 이 경우 this의 맥락은 호출할 때 정해짐
_sum += this[name];
}
return _sum;
}
console.log(sum.apply(o1)) // 6
console.log(sum.apply(o2)) // 185
/* apply 메소드의 첫번째 인자에 입력된 o1, 혹은 o2는
* var this = o1; 처럼 정의된 것과 같은 효과,
* 함수가 마치 o1.sum, o2.sum처럼 적용된 것과 같은 효과를 냄 */
'생활 코딩 > JAVASCRIPT' 카테고리의 다른 글
| Arguments (0) | 2021.08.17 |
|---|---|
| 클로저 (0) | 2021.08.17 |
| 값으로서의 함수와 콜백 (0) | 2021.08.17 |
| 유효범위 (0) | 2021.08.17 |
| 객체 (4) | 2021.08.16 |
