1 분 소요

매개변수로 함수를 이용

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>함수-2(매개변수 값으로 함수를 이용)</title>
    <script>
        //아래 hi1(),hi2()는 일반적 함수이다.
        function hi1() {
            alert("안녕하세요!");
        }
        function hi2() {
            alert("반갑습니다.");
        }
        //exec()함수는 매개변수 값으로 함수를 받고 있다.
        function exec(func){   //func = hi1;   func = hi2; 와 동일하다.
            func();  //매개변수로 받은 함수를 호출하고 있다.
        }
        exec(hi1);
        exec(hi2);
    </script>
</head>
<body>
    
</body>
</html>

리턴값으로 함수를 이용


<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>함수-3(리턴 값으로 함수를 이용)</title>
    <script src="libs/jquery-3.5.1.min.js"></script>
    <script>
        $(document).ready(function(){
            function hi(){
                document.write("안녕하세요.반갑습니다.!");
            }
            //버튼이 클릭이 되면 hi함수가 실행된다.즉 리턴값으로 함수가 이용된 꼴이다.
            $("#btnStart").click(hi);
        });
    </script>
</head>
<body>
    <button id="btnStart">시작</button>
</body>
</html>

리턴값으로 익명함수를 이용


<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>함수-4(리턴 값으로 익명함수를 이용)</title>
    <script>
        //setInterval()는 window전역객체에 존재하며 타이머 함수의 일종이다.
        //주어진 시간동안 지연하다가 주어진 함수를 실행한다.
        //아래 함수의 작동은 1초마다 "안녕하세요"라고 출력을 한다.
        setInterval(function(){
            document.write("안녕하세요.<br/>");
        }, 1000);
    </script>
</head>
<body>
    
</body>
</html>

리턴값으로 중첩 함수를 이용


<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>함수-5(리턴 값으로 중첩함수를 이용)</title>
    <script>
        function hi(){
            //중첩함수가 있는 상태
            function hello(name){
                document.write(name + "님 안녕하세요.");
            }
            return hello;  //리턴값으로 중첩함수를 넘기고 있다.
        }
        //함수를 변수에 저장한 것이 아니고 hi()를 호출하고 그 리턴값으로 
        //중첩함수인 hello()함수를 받고 있는 것이다.
        var func = hi();  
        func("홍길동");   //hello("홍길동"); 동일하다.
    </script>
</head>
<body>
    
</body>
</html>

image

댓글남기기