• 회원가입
  • 로그인
  • 구글아이디로 로그인

[Basic] JS - Scope - JS유효범위 (= JS접근범위 = 변수 종류) ★★★★★★★★★★

목차
  1. JS 범위 개념
  2. 지역변수 (Local Variables)
  3. 전역변수 (Global Variables)
  4. JS 변수 유효기한
  5. 독립변수 (Arguments)
  6. HTML 전역변수

 

JS 범위 개념


1.
JS 범위 (Scope)는 변수의 유효 접근 범위에 관한 것으로,
JS에서 객체함수 역시 변수 일종으로, 유효접근범위 존재.


2. 

JS 범위는 변수, 객체, 함수가 유효하게 사용될 수 있는 작전반경 의미. 

4. 

JS는 변수/객체/함수는 나름의 유효범위 갖으며, 그 범위에 따라 출력 내용 다를 수 있음.



지역변수 (Local Variables)

 

<p id="homzzang"></p>

<script>
hz();
document.getElementById("homzzang").innerHTML = site
function hz() {
    var site = "홈짱닷컴"; // 지역변수. 함수 밖에서 접근 불가.
}
</script>


결과값: 아무 것도 출력 안 됨.


 

1. 

JS 함수 안에서 var 키워드로 선언된 변수는 함수 내에서만 유효.

2.
지역변수는 지역 범위 갖음. 지역 변수는 오직 함수 내에서만 접근 가능. 


3.
지역변수는 함수 내에서만 유효하므로, 다른 함수에서 동일한 변수 사용 가능.


4.
지역변수는 함수 시작할 때 var 키워드로 선언과 동시에 생성되서, 함수 완성될 때 지워짐.

 

 

전역변수 (Global Variables)

 

<p id="homzzang"></p>

<script>
var site = "홈짱닷컴";// 전역변수. 함수 안과 밖 어디서든 접근 가능.
hz();
function hz() {
    document.getElementById("homzzang").innerHTML = site; // 홈짱닷컴
}
</script>

 

결과보기


 
1. 
함수 바깥에서 선언된 변수는 전역변수.

2. 
전역변수의 작전 반경은 전역이라, 웹페이지 상의 모든 JS 코드 및 함수가 전역변수에 접근 가능. 
 
3.
var 키워드 없이 선언된 변수는 자동으로 전역변수됨. (아래 예제)
함수 안이든 바깥이든 마찬가지.

 


 
<p id="homzzang"></p>

<script>
hz();
document.getElementById("homzzang").innerHTML =site;

function hz() {
    site = "홈짱닷컴"; // 전역변수 (∵ 함수 내에서 선언되었지만, var 키워드 없이 선언)
}
</script>

결과값: 홈짱닷컴

JS 변수 유효기한

 

1. 

JS 변수는 선언과 동시에 생성.

2. 

지역변수 : 함수 끝날 때 삭제, 

전역변수 : 사용자가 웹페이지 닫을 때 삭제.

 


독립변수 (Arguments)

 

함수의 독립변수(Argument)나 매개변수(Parameters)는 함수 내에서 지역변수로 작동.

 


HTML 전역변수

 

<p id="demo"></p>

<script>
hz();
document.getElementById("demo").innerHTML = window.site
// window. 없어도 정상 출력
function hz() {
    site = "홈짱닷컴"; 
    // 전역변수 (∵ 함수 내에서 선언되었지만, var 키워드 없이 선언)
}
</script>

 

결과보기


 

1. 

JS 전역범위는 모든 JS 환경 의미.

2. 

  • HTML 전역범위는 window객체 의미.
  • 모든 전역변수는 window 객체에 속함.




분류 제목
DOM JS - CSS - 스타일변경
DOM JS - Animation - 애니메이션 (= 동적효과 = 움직임효과)
DOM JS - Events - 이벤트 2
DOM JS - addEventListener() 메서드 ★★★★★ - 이벤트 걸기 (= addEventListen…
DOM JS - Navigation - 노드탐색 (= 요소탐색) ※ 텍스트노드복사
DOM JS - Node - 노드추가, 노드삭제, 노드변경 (= 노드생성, 노드제거, 노드교체)
DOM JS - Collection - HTML요소집합 (= HTML요소묶음)
BOM JS - Window BOM - 윈도우 브라우저객체모델 (BOM: Browser Object Model)
BOM JS - Window Screen 객체 - 화면객체 (= 스크린객체 = screen객체)
BOM JS - Window Location 객체 - 위치객체 (= 로케이션객체 = Location객체) ※ loc…
BOM JS - Window History 객체 - 이력객체 (= 히스토리객체 = History객체 = 뒤로가기 +…
BOM JS - Window Navigator 객체 - 브라우저객체 (= 네이게이터객체 = Navigator객체 =…
BOM JS - Popup Boxes - 팝업상자 (= 팝업박스 = Alert Box + Confirm box + …
BOM JS - Timing Events ★ - 시간간격 코드실행 (= 타이밍 이벤트 = 시간이벤트 = 일정시간별 …
BOM JS - Cookie (쿠키) 사용법 ★★★ - 쿠키 (설정・생성) / 쿠키 (읽기・얻기・가져오기) / 쿠…
AJAX JS - AJAX (아작스) 소개
AJAX JS - AJAX - XMLHttpRequest() 메서드 ★ - 객체생성 (= 아작스/에이잭스 핵심 = X…
AJAX JS - AJAX - open()/send() 메서드 ★ - 서버에 요청 보내기 (GET방식 vs POST방…
AJAX JS - AJAX - Server Response (서버응답) - 콜백함수 사용 예제
AJAX JS - AJAX - XML 아작스 예제 (= xml 데이터 불러와 표만들기)
4/67
목록
찾아주셔서 감사합니다. Since 2012