콜백함수
특정 이벤트의 발생, 특정 시점에 도달한 경우 시스템에서 호출되는 함수
익명함수의 대표적인 용도
자세히 http://illua.tistory.com/40
즉시실행 함수
함수를 정의함과 동시에 바로 실행하는 함수
주로 최초 한 번의 실행만을 필요로하는 초기화 코드 부분 등에 사용(라이브러리의 초기화 등)
1.함수 리터럴을 괄호 ()로 둘러쌈
2.함수를 바로 호출할 수 있도록 괄호 끝에 괄호()를 추가
3.추가한 괄호에 값을 추가해 즉시 실행 함수의 인자로 넘겨 실행시킴
(function (name){
console.log('This is the immediate function' + name);
})('good');
결과 : This is the immediate function good
내부함수
클로저 생성
부모 함수 코드내에서 외부에서의 접근을 막고 독립적인 헬퍼 함수를 구현하는 용도로 사용
스코프체이닝, 내부 함수는 자신을 둘러싼 외부 함수의 변수에 접근 가능
내부 함수는 일반적으로 자신이 정의된 부모 함수 내부에서만 호출 가능
단, 부모 함수에서 내부 함수를 외부로 리턴하면, 부모 함수 밖에서도 내부 함수 호출 가능
function parent(){
var a = 100;
var b =200;
function child(){
var b = 300;
console.log(a);
console.log(b);
}child();
}
parent(); //결과 : 100 300
child(); //결과 : Uncaught ReferenceError: child is not defined
함수를 리턴하는 함수
함수를 호출함과 동시에 다른 함수로 바꾸거나, 자기 자신을 재정의하는 함수를 구현
var self = function(){
console.log('a');
return function(){
console.log('b');
}
}
self = self(); //결과 : a, a출력 후에 return된 함수로 재정의
self(); //결과 : b, 재정의된 함수가 호출 됨
'학습 log (이론) > javascript' 카테고리의 다른 글
'생성자 함수를 이용한 객체 생성과 this #2' 함수와 프로토타입 체이닝 (0) | 2016.10.17 |
---|---|
'함수호출과 this #1' 함수와 프로토타입 체이닝 (0) | 2016.10.16 |
'함수 객체의 기본 프로퍼티' 함수와 프로토타입 체이닝 (0) | 2016.10.15 |
'함수도 객체다' 함수와 프로토타입 체이닝 (0) | 2016.10.14 |
'함수를 생성하는 3가지 방법' 함수와 프로토타입 체이닝 (0) | 2016.10.14 |