function cal(mode){
var funcs = {
'plus':function(left, right){return left+right),
'minus':function(left, right){return left - right}
}
return funcs[mode];
}
console.log(cal('plus')(2,1)); // 3
console.log(cal('minus')(2,1)); // 1
함수 종류 | 내용 |
---|---|
중첨 함수 | 함수 안에서 함수가 있는 경우를 중첩 |
콜백 함수 | 함수의 실행 결과값을 리턴이 아닌 매개변수로 넘어온 함수를 호출해서 넘겨주는 방식,이때 매개변수로 넘어온 함수를 콜백 함수라고 한다. |
클로저 함수 | 일반적으로 함수 호출에 의해 함수 내부의 실행구문을 모두 실행하게 되면 함수 내부에서 만든 지역 변수가 자동으로 사라지지만 특정 경우에는 사라지지 않고 남아있다. 이런 현상을 클로저라고 하며 이 현상을 일으키는 함수를 클로저 함수라고 한다. |
멤버 함수 | 클래스 내부에 만들어지는 함수 |
기능 정의
외부 함수에 count변수 선언
내부 함수 Fibo작성 -> 2미만 피보나치조건, 그 이후 fibo 함수의 2번째,1번째 전 결과를 더한값 리턴
클로저 기능으로 count값 리셋없이 증가 , 그 값을 활용하여 fibo함수 인자로 전달~!
fucntion Fibo() {
let count = 0;
let fibo = function(n){
if(n<2) return n;
return fibo(n-1) + fibo(n-2);
}
return function(){
count++;
return fibo(count - 1);
}
}