Javascript Cookbook

함수에 데이터를 전달하고 값 받기

문제

데이터를 이름 있는 함수에 전달하고 결과값을 받고 싶다.

해결

데이터를 인수로 전달하고 결과를 반환한다. 사용자가 전달한 데이터의 자료형을 알고 싶다면 다음과 같이 작성할 수 있다.

function someFunc(num){
    if(typeof num == "number"){
        ...
    }
}

설명

모든 함수에는 arguments라는 객체가 있는데 이 객체는 함수에 전달되는 모든 인수를 포함한다. 배열 인덱스 표기를 사용해서 인수에 접근할 수 있으며 length 속성을 통해서 인수의 개수를 알수 있다.

function sumNums(){
    var sum = 0;
    for (var i=0; i<arguments.length; i++){
        var num = parseFloat(arguments[i]);
        if(!isNaN(num)){
            sum += num;
        }
    }
    return sum;
}
...
var sum = sumNums(4.55, 3.0, 1, "apple", 56.33);