본문 바로가기
Language/Javascript

변수안에 함수 정의, 대입, 호출 차이

by brother_stone 2020. 5. 13.

변수안에 함수를 정의한 예시

var pow = function(exponent){
    return function(base){
        return Math.pow(base, exponent);
    }
}

 

변수에 함수를 대입한 예시

function pow(exponent){
    return function(base){
        return Math.pow(base, exponent);
    }
}
 
var calc = pow; //calc는 함수pow와 동일한 기능을 하는 함수가 된다. calc(2)(3) = pow(2)(3)

변수안에 함수를 호출한 예시(그 함수의 return값이 들어간다.)

function pow(exponent){
    return function(base){
        return Math.pow(base, exponent);
    }
}
 
var calc = pow(2);  //calc안에 pow(2)를 호출. 따라서 변수calc에는 
                    //pow(2)의 리턴값인 function(base){return Math.pow(base,2)}가 들어가게 되며. 
                    //함수pow의 리턴값이 함수이므로 변수calc는 base를 매개변수로 가지는 함수가 된다.
console.log(calc(3)); // base=3이므로 calc(3)=9

 

 

 

 

'Language > Javascript' 카테고리의 다른 글

Javascript의 전역 객체  (0) 2020.07.03
Javascript의 전역 객체  (0) 2020.07.03
프로그램의 평가와 실행 과정  (0) 2020.05.10
점프문  (0) 2020.05.02
for/in문  (0) 2020.05.01