티스토리 뷰

Javascript

리턴값 함수, 익명함수

근혁 2022. 2. 14. 22:10

리턴값 함수

return문은 함수에서 결괏값을 반환할 때 사용합니다. 그리고 함수에서 return문이 실행되면 반복문의 break문과 비슷하게 코드가 강제로 종료된다. 다시 말해 함수 정의문에 return문이 사용되면 함수를 호출했을 때 결괏값(data)을 반환한다.

데이터를 반환하고 강제 종료하는 return문

다음은 return문의 기본형이다.

 기본형
{
    function 함수명(){

        자바스크립트 코드1;     <-- 2
        return 데이터(값);      <-- 3           

        자바스크립트 코드2;
    }

    var 변수 = 함수명();        <-- 1               
}
  • 함수 호출문
  • 함수 코드 실행
  • 자바스크립트 코드2를 무시하고 데이터를 반환

다음의 기본 예제는 함수 호출과 함께 인자값 10,20을 전달한다. calc()함수는 num1(10)과 num2(20)의 데이터를 더한 값인 30을 반환한다. 반환된 값은 변수 result에 저장되어 화면에 출력된다.

{
    function sum(num1, num2){
        return num1 + num2;     <--2+3
    }
    
        var result = sum(10,20);    <-- 1
        document.write(result);     
}
  • 함수 호출문
  • 함수 코드 실행
  • 30 반환

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

{
06:  <script>  
07:     function testAvg(arrData) {
08:         var sum = 0;
09:         for(var i = 0; i < arrData.length, i++) {
10:             sum += Number(prompt(arrData[i] + "점수는?", "0"));
11:     }
12:
13:     var avg = sum / arrData.length;
14:     return avg;
15:     }
16:
17:     var arrSubject = ["국어", "수학"];
18:     var result = testAvg(arrSubject);
19:
20:     document.write("평균 점수는" + result + "점입니다.");
21:  <script>        
}

함수를 호출하면 데이터가 매개변수에 전달되면 함수에 작성한 코드에 사용된다. 그리고 계산 결과를 returu문을 사용해 함수를 호출한 지점에 되돌려주면 result에 값이 저장된다. 다음에 result에 저장된 값으로 평균 점수를 출력한 결과 화면이다.

익명함수

익명 함수는 함수명 대신 변수명에 함수 코드를 저장하는 구현 방식이다. 익명 함수의 소스 코드는 변수값이므로 끝에 세미콜론 (;)을 대입한다. 익명 함수는 호출 시 변수명을 함수명처럼 사용하면 된다.

{
    <script>
        var 변수명 = function( 매개변수)
        {
            실행문;
        };
    </script> 
}

hello라는 변수명에 "hello world!"라는 문자가 출력되는 함수 코드를 저장하고 hello()로 익명 함수를 호출하면, 소스코드가 실행된다

{
    <script>
        //익명 함수 선언 및 변수에 대입
        var hello = function()
        {
            document.write("Hello World!");
        };

        //익명 함수 변수명으로 호출
        hello();
    </script> 
}

'Javascript' 카테고리의 다른 글

slice()  (0) 2022.02.20
setTimeout()  (0) 2022.02.16
선언적 함수, 매개변수 함수  (0) 2022.02.14
연산자  (0) 2022.02.07
break문, continue문  (0) 2022.02.04
댓글
© 2018 webstoryboy