함수의 용도

함수의 용도

1.함수는 값

값은 변수에 할당할 수 있다. 값이기 때문이다.

var a = "value"

변수에 할당 가능

JS에서 함수는 변수에 할당 할 수 있다. 즉, 함수는 객체이며 이는 일종의 값이다. 아래 예제를 보면 함수는 변수 a에 할당된 값이다.

var a = function() {} 
function a(){}

메소드

함수를 객체에 저장할 수 있다. 객체에 저장된 함수를 메소드(method)라고 한다. 예제에서 b 함수를 실행하려면 a.b()로 실행 할 수 있다.

var a = { b: function() {} }

함수의 인자로 전달 가능

함수는 값이기 때문에 함수의 인자로 전달 할 수 있다.

function cal(func, num){
    return func(num)
}
function increase(num){
    return num+1
}
function decrease(num){
    return num-1
}
alert(cal(increase, 1));
alert(cal(decrease, 1));

정리

  • 함수는 값 → 변수에 할당 가능

  • 객체에 저장 가능 → 메소드

  • 함수의 인자로 전달가능 → 값이기 때문에 가능

2. 리턴, 배열의 값

함수는 함수의 리턴 값으로도 사용할 수 있다.

function cal(mode){
    var funcs = {
        'plus' : function(left, right){return left + right},
        'minus' : function(left, right){return left - right}
    }
    return funcs[mode];
}
alert(cal('plus')(2,1));
alert(cal('minus')(2,1));   

당연히 배열의 값으로도 사용할 수 있다.

var process = [
    function(input){ return input + 10;},
    function(input){ return input * input;},
    function(input){ return input / 2;}
];
var input = 1;
for(var i = 0; i < process.length; i++){
    input = process[i](input);
}
alert(input);

Last updated