티스토리 뷰


var kim = {name:'kim', first:10, second:20}
var lee = {name:'lee', first:10, second:10}

function sum(){
    return this.first+this.second
}

//sum.call(); //이렇게만 작성하면 sum이라는 함수를 실행시켜주는것이랑 같음.(  sum();  )
console.log(sum.call(kim)); //call(kim)이라고 작성해줌에 따라서 this는 kim이 됨.

// 만약  parameter가 있다면?

function sump(prefix){
    return prefix+(this.first+this.second)
}

console.log(sump.call(kim, "합계 = > ")) //결과는 합계 = > 30 으로 출력된다. 첫번째자리에는 this를 무엇으로 할것인가가 오고, 두번째 자리부터는 인자값이 들어가게 됨.

kim 이라는 객체와 sum이라는 함수는 각각 다른놈인데 sum에 this가 있다.

이 this를 kim 혹은 lee 로 바궈주려면 call을 써서 파라미터 자리에 객체 이름을 적어주면 this가 그놈이 된다.

신기허네

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함