본문 바로가기
JS

221228 JS 함수-익명함수, 즉시실행함수

익명함수

변수에 함수 데이터를 저장하여 변수를 마치 함수처럼 사용하도록 만들어 줌

var compute=function(){
}

익명함수는 선언적함수와 달리 변수 선언 이후에 호출해야 한다. 호이스팅 불가.


즉시실행 함수
js만의 특별한 함수

(function(){
})();

이렇게하면 바로 실행된다.

사용이유?
페이지 시작 시 호출할 함수를 기술한다.

매개변수도 받을 수 있지만 return은 활용하지 못함

 

 

<!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>Document</title>
</head>
<body>
    <script>
        //1st
         //a(); //에러. a is not function-변수에 넣었기 때문에 호이스팅 불가
        // function func1(){
        // }
        // var a=func1;
        
        
        
        //a(); //에러. a is not function
        var a = function(){
            console.log('a함수');
        }
        a();

        var b=function(x,y){
            return x+y;
        }

        console.log('b함수:',b(1,2));

        console.log('---------------------------------------------------------');

        //익명함수로 변경해보기

        function method1(x){
            if(x%2==0){
                return '짝수';
            }else{
                return '홀수';
            }
        }  

        var a =function(x){
            return x%2==0?'짝수':'홀수';
        }
        console.log(a(4));

        //매개변수를 3개 받아서 평균을 반환하는 익명함수를 선언
        var b = function(a,b,c){
            return parseFloat((a+b+c)/3);
        }
        console.log(b(90,80,75));

        console.log('-------------------------------------------------');
        //즉시실행 함수

        (function(x,y,z){
            console.log('즉시실행',(x+y+z));
        })(1,2,3);





    </script>
</body>
</html>

'JS' 카테고리의 다른 글

221228 JS 전역변수 지역변수  (0) 2022.12.28
221228 JS 함수의 가변인자  (0) 2022.12.28
221228 JS 함수-선언적 함수, 호이스팅  (0) 2022.12.28
221228 JS 탈출문  (0) 2022.12.28
221228 JS for~in  (0) 2022.12.28