JavaScript Scope
자바스크립트에서, 객체와 함수는 또한 변수입니다.
범위(Scope)는 변수, 객체, 함수를 접근 할 수 있는 집합입니다.
1. Local JavaScript Variables
함수 내에서 선언된 변수는 함수의 LOCAL 변수가 됩니다.
지역 변수(Local variable)는 지역 범위(local scope)를 갖습니다: 지역 변수는 함수내에서만 접근 가능합니다.
| // code here can not use carName function myFunction() { var carName = "Volvo"; // code here can use carName } | cs
|
지역 변수가 함수 내에서만 인식되므로, 같은 이름의 변수는 다른 함수에서 사용될 수도 있습니다.
지역 변수는 함수의 시작과 함께 생성되어, 함수의 종료와 함께 사라집니다.
2. Global JavaScript Variables
함수 바깥에서 선언된 변수는 GLOBAL 변수가 됩니다.
전역 변수(Global variable)는 전역 범위(global scope)를 갖습니다: 웹 페이지의 모든 스크립트나 함수는 접근 가능 합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <!DOCTYPE html> <html> <body> <p>A GLOBAL variable can be accessed from any script or function.</p> <p id="demo"></p> <script> var carName = "Volvo"; myFunction(); function myFunction() { document.getElementById("demo").innerHTML = "I can display " + carName; } </script> </body> </html> | cs |
3. Automatically Global
변수에 값을 할당할때 선언을 하지않고 할당했다면, 그 변수는 자동으로 전역 변수가 됩니다.
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 | <!DOCTYPE html> <html> <body> <p> If you assign a value to a variable that has not been declared, it will automatically become a GLOBAL variable: </p> <p id="demo"></p> <script> myFunction(); document.getElementById("demo").innerHTML = "I can display " + carName; function myFunction() { carName = "Volvo"; } </script> </body> </html> | cs |
4. Function Arguments
함수의 인자(arguments or parameter)는 함수 내부의 지역 변수(local variable)로 존재합니다.