Javascript 2023.3.13

문우림·2023년 3월 14일
0

1. Callback함수란?

function 함수명(){ 함수명(); }

콜백 함수란...
다른 함수의 매개변수로 전달받은 함수. 함수안에서 실행하는 또 다른 함수.
콜백을 넘겨받은 함수는 이 콜백을 필요에 따라 즉시 실행할 수도 있고, 아니면 어떤 행위나 태스크가 완료된 직후에 콜백하여 실행할 수도 있다.

2. arguments 객체

arguments객체는 함수에 전달된 매개변수들을 배열 형태로 저장된 객체.
자바스크립트에서는 함수를 호출할 때 자동으로 arguments객체가 함수 내부로 전달된다.

특징

  • 정의된 매개변수보다 적은 매개변수 수로 함수를 호출했을 떄, 넘겨주지 않은 매개변수에는 특별한 값인 undefined가 할당된다.
  • 정의된 매개변수보다 많은 매개변수 수로 함수를 호출했을 때, 초과된 매개변수는 무시된다.

NaN
NaN속성은 Not-A-Number(숫자가 아님)을 나타낸다.

  • 표현 불가능한 수치형 결과를 나타내는 값.
  • 자기 자신과 일치하지 않은 유일한 값.

활용

  • 매개변수 갯수가 정확하게 정해지지 않은 함수를 구현할 때 사용.
  • 전달된 매개변수의 갯수에 따라 서로 다른 처리를 해줘야하는 함수를 구현할 때 사용.

3. 클로저

  • 내부함수는 외부함수의 지역변수에 접근 할 수 있다.
<script>

        function funName(x){ //외부함수

            var varName = ":: 요청한 " + x + "에 대한 구구단 ::"; //외부함수의 지역변수
            return function(){ //내부함수
                console.log(varName);
                for(var i = 1; i < 10; i++){
                    console.log(x + "*" + i + "=" + (x*i)) ;
                }
            };
        }

        var returnFun = funName(5); //5가 적용된 function()함수가 호출
        returnFun(); //varName변수도 살아있기 때문에 호출 가능.
        
    </script>
  • 외부함수의 실행이 끝나서 외부함수가 소멸된 이후에도 내부함수가 외부함수의 변수에 접근할 수 있는 메커니즘을 클로저라고 한다.

4. 자바스크립트의 함수

명시적 함수 : 함수이름으로 호출. hoisting이 적용되어 함수 선언 전에 명시적 함수로 호출할 수 있다.

익명 함수 : 변수이름으로 호출. 반드시 함수 호출 전에 익명 함수를 선언해야지 출력할 수 있다.

0개의 댓글