function(함수)란 작업을 수행하거나 값을 계산하는 문장들의 집합같은 자바스크립트 절차이다. 함수를 사용하려면 함수를 사용하고자 하는 범위 내에서 함수를 정의해놔야 한다.
함수는 기본적으로
function Name(parameter,[..., parameter]){statement}
형식으로 선언하고 호출할때는 Name(argument) 형식으로 호출한다.
parameter(매개변수)는 argument로부터 값을 받아왔을때 함수 내에서 사용하는 이름이다.
argument(전달인자)는 함수에게 주는 값 이다.
statement는 함수의 몸통을 구성하는 문 이다.
let add = function Name(parameter,[..., parameter]){statement};
let add = new Function(argument[, ...arg], functionBody)
화살표 함수는 함수를 좀 더 간편하게 사용하고 쓴다.
let add = [parameter,[..., parameter]].map(x => x+=1);
기명함수는 함수명이 있는 함수 이다.
function add(a,b){ return a+b;}
익명함수는 함수 명이 없는 함수이다. 함수 선언식에는 반드시 이름이 있어야하나 표현식일때 익명함수로써 사용할 수 있다.
let hello = function(){ console.log("hello"); };
재귀호출함수는 자기 자신을 호출하는 함수이다.
function factorial(n) {
if (n <= 1) return n;
return n * factorial(n-1);
}
즉시실행함수는 컴파일러에 함수가 로드된 후 직접 호출하는 함수이다.
(function (){
let a = 1;
let b = 2;
return a+b;
}())