1.1 유효범위
-유효범위(Scope)는 변수의 수명을 의미
EX)
var vscope = 'global'; function fscope(){ alert(vscope); } fscope();
à 함수 밖에서 변수를 선언하면 그 변수는 전역변수가 된다. 전역변수는 어플리케이션 전역에서 접근이 가능한 변수라 어떤 함수 안에서도 그 변수에 접근 할 수 있다. |
EX)
var vscope = 'global'; function fscope(){ var vscope = 'local'; alert('함수안 '+vscope); } fscope(); alert('함수밖 '+vscope);
à 지역변수와 전역변수가 동시에 정의되어 있다면 지역변수를 우선시 한다 à 따라서 결과값은 ‘함수안 local’과 ‘함수밖 global’이다. |
EX)
var vscope = 'global'; function fscope(){ vscope = 'local'; alert('함수안'+vscope); } fscope(); alert('함수밖'+vscope);
à결과값 ‘함수안 local’과 ‘함수밖 local’ à 함수 fscope의 지역변수를 선언할 때 var를 사용하지 않았기 때문에vscope가 전역변수가 된다. 따라서 3행은 전역변수의 값을 local로 변경하게 된 것이다. à여러 가지의 이유로 값이 달라질 수 있기 때문에, 전역변수는 되도록 사용하지 않는 것을 권장함. |
EX) 자바스크립트에서 로직을 모듈화하는 일반적인 방법 && 불가피하게 전역변수를 사용해야 하는 경우 하나의 객체를 전역변수로 만들고 객체의 속성으로 변수를 관리하는 방법
(function(){ var MYAPP = {} MYAPP.calculator = { 'left' : null, 'right' : null } MYAPP.coordinate = { 'left' : null, 'right' : null } MYAPP.calculator.left = 10; MYAPP.calculator.right = 20; function sum(){ return MYAPP.calculator.left + MYAPP.calculator.right; } document.write(sum()); }())
|
JAVASCRIPT |
JAVA |
for(var i = 0; i < 1; i++){ var name = 'coding everybody'; } alert(name);
à 자바스크립트는 함수에 대한 유효범위만을 제공..따라서 결과는 coding everybody를 출력함 |
for(int i = 0; i < 10; i++){ String name = "egoing"; } System.out.println(name);
à 자바에서는 아래의 코드는 허용되지 않는다. Name이 for문 안의 지역변수로 선언. |
'Web > jQuery' 카테고리의 다른 글
[JQuery 기본 개념] jquery란/jqeury 사용방법 (0) | 2016.06.23 |
---|---|
[Javascript 기본 개념] Javascript 문법-함수와 콜백 (0) | 2016.06.23 |
[Javascript 기본 개념] Javascript 문법-객체/Location/Navigator/제어대상 (0) | 2016.06.23 |
[Javascript 기본 개념] Javascript 문법-BOM/DOM (0) | 2016.06.23 |
[Javascript 기본 개념] Javascript 문법-배열(Array) (0) | 2016.06.23 |