[JS] 14_05강 함수의 호출

정수연·2022년 4월 14일
0

함수의 호출

// 1)
function sum(arg1, arg2) {
  return arg1 + arg2;
}
sum.apply(null, [1,2]); // 3
// sum(1,2) -- 위와 동일한 결과
//--------------------------------
// 2)
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){
        _sum += this[name];
    }
    return _sum;
}
alert(sum.apply(o1)) // 6, o1.sum과 같은 의미
alert(sum.apply(o2)) // 185, o2.sum과 같은 의미

1) 함수 sum = Function이라는 객체의 인스턴스
즉, func는 객체 Function이 가지고 있는 메소드들(apply 등)을 상속하고 있음
⇒ 객체 Function 의 메소드인 apply 호출 가능
2)
: sum.apply(o1) 호출 시, 암시적으로 var this = o1;이 호출됨
: sum.apply(o2) 호출 시, 암시적으로 var this = o2;이 호출됨

0개의 댓글