함수
선언적 함수, 익명 함수
선언적 함수
function add(a, b) { //함수의 선언
return a+b;
}
alert(add(1, 2)); //함수의 사용
익명 함수
var add = function(a, b) { //함수의 선언
return a + b;
}
alert(add(1, 2)); //함수의 사용
차이점
javascript에서는 실행 시키기 전, 한번 전체적으로 코드를 읽는다. 선언적 함수는 그 시점에서 함수로 선언이 되기 때문에, 함수가 선언된 시점 위에서 함수를 호출해도 정상적으로 작동한다.
반면 익명함수는 그 시점에서 선언되지 않기 때문에, 익명함수가 선언된 시점 뒤에서 호출해야 한다.
가변인자 함수
넘긴 인자 값을 모두 합산하는 함수를 만드려고 함.
function sum() {
var sum = 0;
for(var i=0; i<arguments.length; i++) {
sum += arguments[i];
}
return sum;
}
alert(sum(1,2,3,4,5,6,7,8,9,10)); //55
각 함수가 가진 arguments라는 배열을 통해, 넘어오는 모든 인자를 참조할 수 있음
인자로 함수 보내기
function callN(work, n) {
for(var i=0; i<n; i++) {
work();
}
}
var newFunc = function() { alert('띠용!'); };
callN(newFunc, 10);
익명함수이기 때문에, 이렇게 넣어주는 것이 가능하다.