Top

함수

데이터를 저장할 때 변수를 선언하여 저장했습니다. 변수에는 데이터만 저장 할 수 있고 코드는 저장 할 수 없습니다. 하지만 함수를 사용하면 코드를 메모리에 저장했다가 필요할 때마다 호출하여 사용할 수 있습니다.

선언적 함수

함수에서는 function 키워드를 사용해서 변수를 선언합니다.

{
    function 함수이름 () {
        // 실행코드 작성
    }
    함수이름();
}
다음예제는 선언적 함수를 선언한 다음 호출하여 코드를 실행합니다.
<script>
    var conunt = 0;
    
    function myfnc(){
        count++;
        document.write("hello"+ count,"<br>")
    }
    mtfnc();
</script>

익명 함수

익명함수는 말그대로 이름이 없는 함수입니다. 따라서 익명함수를 선언하고 사용하기 위해서는 변수에 넣어서 사용하여야 합니다.

{
    function () {
        자바스크립트 코드;
    };
}

익명함수는 위와 같은 형태로 만들어 준다음 아래와 같이 변수에 넣어서 변수 이름을 호출 해주면 됩니다.

<script>
    var func = function () {
        자바스크립트 코드;
    }
    func();
</script>

다음예제는 익명 함수를 선언한 다음 호출하여 코드를 실행합니다.

<script>
    var theFnc = function () {
        count++;
        document.write("bye"+count,"<br>");
    }
    func();
</script>

매개변수 함수

매개변수가 있는 함수 정의문은 함수를 호출할 때 값을 전달 할 수 없었습니다. 하지만 매개변수가 있는 함수 정의문은 함수를 호출할 때 전달하고자 하는 값을 입력하여 호출할 수 있습니다.

다음은 함수를 호출할 때 값을 전달하는 기본형입니다.

{
    function함수명(매개변수1, 매개변수2, .....데이터n){
        자바스크립트 코드,
    }
    함수명(데이터1, 데이터2....데이터n)
}

다음은 함수를 호출했을 때 이름과 사는 지역의 데이터를 함수 정의문의 매개변수 name과 area에 각각전달하여 함수 안에 있는 실행문이 매개변수에 저장된 데이터를 불러오는 예제입니다.

<script>
    fuction myFnc(name, area) {
        document.write("안녕하세요" + name + "입니다.","<br>");
        document.write("사는 곳은" + area + "입니다.", "<br><br>")
    }
    myFnc("홍당무","서울");
</script>

리턴값 함수

리턴값 함수는 함수에서 결과값을 반환할 때 사용합니다. 그리고 함수에서 return문이 실행되면 반복문의 break문과 비슷하게 코드가 강제로 종료됩니다.

다음은 리턴값 함수의 기본형입니다.

{
    function함수명(){
        자바스크립트 코드;
        return 데이터(값);
    }
    var 변수 = 함수명();
}

다음은 함수 정의문 내에 작성한 코드를 실행한 후 계산된 결과값을 return문으로 함수 호출문제에 반환하는 예제입니다.

<script>
    function testAvg(arrData){
        var sum = 0;
        for(var i = 0; i<arrData.length; i++){
            sum += Number(prompt(arrData[i] + "점수는?","0"));
        }
        var Avg = sum / arrData,length;
        return avg;
    }
    var arrSubject = ["국어", "수학"];
    var result = testAvg(arrSubject)
    document.write("평균 점수는" + result + "점 입니다.");
</script>

함수를 호출하면 데이터가 매개변수에 전달되며 함수에 작성한 코드에 사용됩니다. 그리고 계산 결과를 return 문을 사용해 함수를 호출한 지점에 되돌려주면 result에 값이 저장됩니다.