JavaScript에서는 함수도 객체,
다른 언어와 다르게 Javascript는 함수가 값이 될 수 있음
//함수 a는 변수 a에 담겨진 값, 또한 함수는 객체의 값으로 포함될 수 있음
function a(){}
var a = function(){}
1. 속성(property) : 메소드(method)
//b = 속성, function = 메소드
a = {
b:function(){
}
};
2. 함수 = 값, 다른 함수의 인자로 전달될 수 있음
function cal(func, num){
return func(num)
}
function increase(num){
return num+1
}
function decrease(num){
return num-1
}
alert(cal(increase, 1)); //2
alert(cal(decrease, 1)); //0
function cal(mode){
var funcs = {
'plus' : function(left, right){return left + right},
'minus' : function(left, right){return left - right}
}
return funcs[mode];
}
alert(cal('plus')(2,1)); //3
alert(cal('minus')(2,1)); //1
var process = [
function(input){ return input + 10;}, //11
function(input){ return input * input;}, //121
function(input){ return input / 2;} //60.5
];
var input = 1;
for(var i = 0; i < process.length; i++){
input = process[i](input);
}
alert(input); //60.5