- 지역함수 선언에 효과적
- 같은 이름의 변수 또는 함수의 충돌을 막을 수 있다
- 일회용 함수
형식
1. 자동호출함수
- 호출시점에 바로 매개변수 x값을 넣어준다.
- 마지막 괄호 () 안에 작성
(function(x){
console.log(x*x); //2*2=4
}(2));
2. 함수명 지정해서 사용
- 마지막 괄호 밖에 () 작성
(mySquare = function(x){
console.log(x*x);
})(3);
mySquare(4);
3. 리턴값을 받는 변수
var mySquare = (function(x){
return x*x;
})(5);
console.log(mySquare);
예시)
(function(){
var num=100;
function menu(){
num += 100;
alert(num);
}
menu();
}());
(function(){
var num=100;
function menu(){
alert(num);
}
}());
- 함수 스코프에 선언된 함수는 지역 함수가 되어 함수 스코프에서만 호출 가능
- 즉 함수 스코프 외부의 같은 이름을 가진 함수를 호출하면 외부의 전역 함수가 실행된다.
- 클로저 : 클로저는 반환된 내부함수가 자신이 선언됐을 때의 환경(Lexical Enviroment)인 스코프를 기억해 자신이 선언됐을 때의 환경(스코프) 밖에서 호출되어도 그 환경(스코프)에 접근할 수 있는 함수
'javascript' 카테고리의 다른 글
DOM(Document Object Model) 문서 객체 모델 (0) | 2022.11.16 |
---|---|
내장객체_문자열 객체 (0) | 2022.11.15 |
객체 생성자 함수_프로토타입(prototype) (0) | 2022.11.15 |
내장객체_날짜(Date()), 수학객체(Math()) (0) | 2022.11.15 |
1114_함수정의 (0) | 2022.11.15 |