function sum(arg1, arg2){
return arg1+arg2;
}
sum(1,2) // 3
alert(sum.apply(null, [1,2])) //3 이런식으로 apply 메소드를 사용해도
//똑같은 값이 나온다.
그냥 sum을 사용해도 되는데 굳이 apply를 사용하는 이유는 맨앞에 있는 null에 다른것을 넣어서 사용하기 위해서이다.
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 null이 들아갈곳에 객체(o1)가 들어갔다
alert(sum.apply(o2)) // 185 null이 들아갈곳에 객체(o2)가 들어갔다
this는 맨밑의 (sum.apply(o1)) 과 o2가 호출 됬을때 맨위에있는 객체 o1과 o2를 this자리에 넣는다.