diary100 2023. 4. 7. 11:46

사용자 정의 함수(function)


- 하나의 특별한 목적의 작업을 수행하도록 설계된 독립적인 블록
- 필요할 때마다 호출하여 해당 작업을 반복해서 수행할 수 있음
- 코드를 재활용

 

1.함수 선언식
    function 함수명(매개변수1,매개변수2 ...){
        함수가 호출되었을 때 실행할 문장;
        ....
        return 값
    }
    
    함수명(값1,값2 ...)

2.함수 표현식
    const 변수명 =function(매개변수1,매개변수2 ...){
        함수가 호출되었을 때 실행할 문장;
        ...
        return값
    }

 

디폴트 매개변수
- 매개변수의 값을 설정하는 것
- 매개변수의 값을 정하지 않으면 기본값을 변수에 저장

    function 함수명(매개병수1 =값1, 매개변수 =값2,..){
        함수가 호출되었을 때 실행할 문장;
        ...
        return값
    }
    
    함수명();
    함수명(값1,값2, ...);

나머지 매개변수
생략 접두사(...)를 사용하여 특정 위치의 인수부터 마지막 인수까지 한 번에 지정할 수 있음

    function 함수명(매개변수1,....매개변수2){
        함수가 호출되었을 때 실행할 문장;
        ....
        return값
    }


    함수명(값1,값2,값3,값4,값5)
    값 2 3 4 5 는 매개변수 2로

 

HTML 예제 코드

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>함수</title>
</head>
<body>
    <h2>함수</h2>
    <script>
        function func1(){
            console.log('func1 호출!');
        }

        func1()
        function func2(num){
            console.log(`전달받은 매개변수의 값:${num}`)
        }
        func2('apple')
        func2(true)

        function func3(start,end){
            let sum = 0
            for(let i =start; i <=end; i++){
                sum += i;
           
            }
            console.log(sum)
        }
        func3(1,100)

        function func4(){
            return '🎁'
        }
        func4()
        console.log(func4())
        const presents =func4();
        console.log(presents)
        console.log('-----------------------')

        //디폴트 매개변수
        function func5(num1=1,num2=1){
            console.log(`num1의 값: ${num1} , num2의 값 : ${num2}`)
            console.log(`${num1} * ${num2} = ${num1* num2}`)
        }
        func5();
        func5(10,3)
        console.log('-----------------------')

        function func6(...x){
            console.log(`x의 값: ${x}`);
            console.log(`x의 타입: ${typeof(x)}`)

        for(i in x){
            console.log(`i의 값: ${i} , x[${i}] = ${x[i]}`);
        }
        }
        func6(30,40,70)

        function func7(x1,...x2){
            console.log(`x1의 값: ${x1}`);
            console.log(`x2의 값: ${x2}`);
        }
        func7(30,40,70,80);
        console.log('-----------------------');


        // 보너스!!
        (function(){
            console.log('함수를 만들고 바로 호출합니다');
        })();
       
    </script>
</body>
</html>

 

결과