티스토리 뷰
반응형
함수 스코프란?
스코프(Scope)의 사전적 의미 : "범위"
변수 또는 함수의 유효 범위를 가르킴
스코프 | 변수 또는 함수의 유효 범위 |
지역 변수 | 스코프 영역에서 선언한 변수 스코프 영역에서만 사용할 수 있음 |
지역 함수 | 스코프 영역에서 선언한 함수를 가르킴 스코프 영역에서만 호출할 수 있음 |
전역 변수와 지역 변수의 개념과 차이
전역 변수 : 자바스크립트 어디에서든 사용할 수 있는 변수
지역 변수 : 함수 스코프 내에서만 사용할 수 있는 변수
기본형
var 변수명; //전역 변수
function 함수명(){
var 변수명; //지역 변수
}
예제
var score = 10;
function myFnc(){
var score = 50;
alert(score); //지역변수 50
}
myFnc();
alert(score); //전역변수 10
전역 함수와 지역 함수의 차이
전역 함수 : 자바스크립트 어디에서든 사용할 수 있는 함수
지역 함수 : 함수 스코프 내에서만 사용할 수 있는 함수
기본형
//전역 함수
function 함수명1(){
자바스크립트 코드;
}
function 함수명2(){
//지역 함수
function 함수명3(){
자바스크립트 코드;
}
}
예시
//전역 함수
function myFnc(){
alert("전역 함수");
}
function outermyFnc(){
//지역 함수
function myFnc(){
alert("지역 함수");
}
myFnc(); //지역 함수 호출
}
outermyFnc();
myFnc(); //전역 함수 호출
함수 스코프에서 선언된 함수는 지역 함수 => 함수 스코프 안에서만 호출가능
스코프 밖에서 myFnc() 함수를 호출하면 함수 스코프가 아닌 전역 함수가 실행되어 '전역 함수'라는 alert이 뜸
전역과 지역을 나누는 이유
프로젝트의 규모가 크면 여러명의 개발자가 투입
=> 같은 이름의 전역 변수나 전역 함수를 사용하면 충돌 발생
=> 라이브러리나 플러그인 변수 이름과 같은 경우 충돌 발생
즉시 실행 함수
지역 함수를 사용해 함수를 선언했다면 충돌을 피할 수 있음.
즉시 실행 함수는 지역 함수 선언에 사용하면 효과적.
기본형
(function (){
자바스크립트 코드;
}());
(function(){
var 변수명; //지역 변수
function 함수명(){
자바스크립트 코드; //지역 함수
}
}());
반응형
'Language > JavaScript' 카테고리의 다른 글
[Do it!] 06. 제이쿼리 문서 객체 선택자와 조작법 [1.제이쿼리 기본 다지기] (0) | 2024.01.24 |
---|---|
[Do it!] 05. 함수 [4.객체 생성자 함수의 활용, 5.내장함수] (0) | 2024.01.20 |
[Do it!] 05. 함수 [2.함수에서 return 문의 역할] (0) | 2024.01.19 |
[Do it!] 05. 함수 [1.함수] (1) | 2024.01.08 |
[Do it!] 04. 객체 [브라우저 객체] (0) | 2024.01.05 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 기본 API 클래스
- 역반복문
- StringBuffer 클래스
- 자료형
- Format 클래스
- 프로그램
- FALSE
- 문자열함수
- IndexError
- Arrays 클래스
- 리스트
- 요소선택
- 순환할당
- 리스트연산자
- Random 클래스
- 스레드 스케줄링
- python
- StringTokenizer 클래스
- Objects 클래스
- 딕셔너리
- StringBuilder 클래스
- 함수
- Date 클래스
- Math 클래스
- 포장 클래스
- Pattern 클래스
- Calendar 클래스
- 파이썬
- java.time.package
- not_in
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함