선언
아래와 같은 방식으로 선언하여 사용할 수 있다.
function 함수이름 {
// ...
return 반환값;
}
다만, Java에서의 메소드 오버로딩(참고)과 같은 것을 허용하지 않기 때문에
같은 이름의 함수는 하나만 정의하는 것이 좋다.
인수 전달 방식
원시형 타입(number, string, boolean)은 값(call by value)으로 전달된다.
반면, 객체는 참조(call by reference)로 전달된다.
Return
return이 없으면 암묵적으로 <pre>undefined</pre>를 반환한다.
익명 함수, 기명 함수
함수를 표현식처럼 사용할 수 있다.
주로 이벤트 처리를 위해 많이 사용되는 방법이다.
익명 함수와 기명 함수로 구분할 수 있는데
함수 내부에서 스스로 호출할 수 있는지/없는지가 가장 큰 차이점이다.
익명 함수
익명 함수는 함수 내부에서 자신을 호출할 수 없다.
즉, 재귀적으로 사용할 수 없다.
아래와 같이 선언할 경우 <pre>add(1, 2)</pre>와 같이 사용할 수 있다.
단, 함수 내부에서 <pre>add(1, 2)</pre>과 같이 스스로를 호출할 수 없다.
예시
var add = function (a, b) {
return a + b;
}
기명 함수
익명 함수와 사용은 마찬가지이나,
함수 내부에서 자신을 호출할 수 있어서 재귀적으로 사용할 수도 있다.
예시
var add = function sum (a, b) {
return a + b;
}
'Coding > JavaScript' 카테고리의 다른 글
[Javascript] Falsy, Truthy, && (0) | 2024.01.11 |
---|---|
[JavaScript] 비동기(Asynchronous) 원리 (0) | 2023.05.31 |
댓글