function 함수명(){ 함수명(); }
콜백 함수란...
다른 함수의 매개변수로 전달받은 함수. 함수안에서 실행하는 또 다른 함수.
콜백을 넘겨받은 함수는 이 콜백을 필요에 따라 즉시 실행할 수도 있고, 아니면 어떤 행위나 태스크가 완료된 직후에 콜백하여 실행할 수도 있다.
arguments객체는 함수에 전달된 매개변수들을 배열 형태로 저장된 객체.
자바스크립트에서는 함수를 호출할 때 자동으로 arguments객체가 함수 내부로 전달된다.
특징
NaN
NaN속성은 Not-A-Number(숫자가 아님)을 나타낸다.
활용
<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>
명시적 함수 : 함수이름으로 호출. hoisting이 적용되어 함수 선언 전에 명시적 함수로 호출할 수 있다.
익명 함수 : 변수이름으로 호출. 반드시 함수 호출 전에 익명 함수를 선언해야지 출력할 수 있다.