선언적 함수
가장 널리 사용하는 함수의 종류는 선언적/정적인 형태로 function 키워드, 함수명, 인자 리스트, 함수 몸체로 구성된다. 선언적/정적 함수는 페이지를 로드할 때 단 한 번만 파싱된다. 이 때 파싱된 결과는 함수가 호출될 때마다 사용된다.
익명 함수
함수도 객체다. 그렇기 때문에 함수도 생성자를 사용해서 생성할 수 있고, 함수를 변수에 배정하는 것도 가능하다.
선언적 함수와는 달리, 자바스크립트 엔진은 익명 함수를 동적으로 생성한다. 따라서 매번 함수가 호출될 때마다 동적으로 생성된다. 반복문에서 사용하면 매번 반복시마다 생성된다.
함수 리터럴
자바스크립트 객체는 리터럴 형태를 가질 수 있다. 즉 생성자와 객체를 사용하지 않고, 리터럴로 접근할 수 있다. 문자열은 String 생성자를 사용해서 생성할 수 있고, String 메소드로 접근할 수 있다. 문자열의 이런 특성은 함수에서도 가능하다. 즉 함수를 생성해 변수에 할당하기 위해 생성자를 사용할 필요가 없다는 뜻이다. 말 그대로 함수 리터럴(Function Literal)인 것이다.
함수 리터럴은 한 번만 파싱되며 정적이다. 함수명은 지정할 수도 있고, 지정하지 않을 수도 있다. 함수명을 지정한 경우엔 그 함수 내에서만 접근이 가능하다.
가장 널리 사용하는 함수의 종류는 선언적/정적인 형태로 function 키워드, 함수명, 인자 리스트, 함수 몸체로 구성된다. 선언적/정적 함수는 페이지를 로드할 때 단 한 번만 파싱된다. 이 때 파싱된 결과는 함수가 호출될 때마다 사용된다.
function 함수명 (인자1, 인자2, ..., 인자n) {
// 실행 코드
}
// 실행 코드
}
익명 함수
함수도 객체다. 그렇기 때문에 함수도 생성자를 사용해서 생성할 수 있고, 함수를 변수에 배정하는 것도 가능하다.
선언적 함수와는 달리, 자바스크립트 엔진은 익명 함수를 동적으로 생성한다. 따라서 매번 함수가 호출될 때마다 동적으로 생성된다. 반복문에서 사용하면 매번 반복시마다 생성된다.
var variable = new Funtion ("인자1", "인자2", ..., "인자n", "함수 몸체");
함수 리터럴
자바스크립트 객체는 리터럴 형태를 가질 수 있다. 즉 생성자와 객체를 사용하지 않고, 리터럴로 접근할 수 있다. 문자열은 String 생성자를 사용해서 생성할 수 있고, String 메소드로 접근할 수 있다. 문자열의 이런 특성은 함수에서도 가능하다. 즉 함수를 생성해 변수에 할당하기 위해 생성자를 사용할 필요가 없다는 뜻이다. 말 그대로 함수 리터럴(Function Literal)인 것이다.
함수 리터럴은 한 번만 파싱되며 정적이다. 함수명은 지정할 수도 있고, 지정하지 않을 수도 있다. 함수명을 지정한 경우엔 그 함수 내에서만 접근이 가능하다.
var func = function (인자들) {
// 실행 코드
}
// 실행 코드
}
'Programming > JavaScript' 카테고리의 다른 글
[JavaScript] 이벤트 핸들링 addEventListener, attachEvent (크로스 브라우저) (0) | 2010.10.20 |
---|---|
[JavaScript] 이벤트 객체 접근 (크로스 브라우저) (0) | 2010.10.18 |
[JavaScript] escape(), unescape(), encodeURI(), decodeURI() (0) | 2010.10.13 |
[JavaScript] 데이터 타입과 변수 (2) (0) | 2010.10.13 |
[JavaScript] 데이터 타입과 변수 (1) (0) | 2010.10.12 |