JavaScript / 전역변수(Global Variable)와 지역변수(Local Variable)
전역변수와 지역변수
변수는 유효범위에 따라 전역변수(Global Variable)와 지역변수(Local Variable)로 구분할 수 있습니다.
- 전역변수는 함수 외부에서 선언된 변수로, 프로그램 전체에서 접근할 수 있는 변수입니다.
- 지역변수는 함수 내부에서 선언된 변수로, 함수가 실행되면 만들어지고 함수가 종료되면 소멸하는 변수입니다. 함수 외부에서는 접근할 수 없습니다.
예제 1
<!doctype html> <html lang="ko"> <head> <meta charset="utf-8"> <title>JavaScript</title> </head> <body> <script> var jbVar = 'Lorem'; function jbFunc() { var jbVar = 'Ipsum'; } document.write( jbVar ); </script> </body> </html>
변수 jbVar의 값을 함수 외부에서는 Lorem으로, 함수 내부에서는 Ipsum으로 정했습니다. 함수 외부에서 jbVar를 불러왔으므로 전역변수의 값
Lorem
이 출력됩니다.
예제 2
<!doctype html> <html lang="ko"> <head> <meta charset="utf-8"> <title>JavaScript</title> </head> <body> <script> var jbVar = 'Lorem'; function jbFunc() { var jbVar = 'Ipsum'; document.write( jbVar ); } jbFunc(); </script> </body> </html>
함수 내부에서 jbVar의 값을 불러왔으므로 지역변수의 값
Ipsum
이 출력됩니다.
예제 3
<!doctype html> <html lang="ko"> <head> <meta charset="utf-8"> <title>JavaScript</title> </head> <body> <script> var jbVar = 'Lorem'; function jbFunc() { jbVar = 'Ipsum'; document.write( jbVar ); } jbFunc(); document.write( jbVar ); </script> </body> </html>
함수 내부에서 var를 사용하지 않고 변수의 값을 정하면 전역변수의 값을 변경합니다. 따라서
IpsumIpsum
을 출력합니다.