불가피하게 전역변수를 사용해야 하는 경우는 하나의 객체를 전역변수로 만들고 객체의 속성으로 변수를 관리하는 방법을 사용한다.
(function(){
위의 MYAPP변수와 관련된 코드들 ~~~
}())
함수의 이름을 붙이지 않고 정의하는것 -> 익명함수
함수 뒤에 ()를 붙이면 바로 실행한다는 의미
함수를 괄호()로 감싸면????
위의 방법은 자바스크립트에서 로직을 모듈화 하는 일반적인 방법이다.
유효범위의 대상 (함수)
JAVA에서는 for문, if문의 중괄호 블록도 지역변수가 될 수 있는 유효범위가 되지만,
자바스크립트에서는 for, if문안에서 선언된 변수는 지역변수가 아니다.
함수안에서 선언된 변수만이 지역변수가 된다 (함수만 유효범위가 될 수 있다)
정적유효범위
함수 b가 정의될 때를 기준으로 변수i가 결정된다. (사용될 때가 아님)
함수 b가 정의되었을 때, 지역변수 i는 없고, 전역변수 i의 값은 5이므로 실행결과가 5가 된다.
나중에 읽어볼것.
책 : 자바스크립트 핵심 가이드
저자 : 더글라스 크락포드
출처
유효범위
opentutorials.org/course/743/6495
'Front > Java Script' 카테고리의 다른 글
클로저(closure) (0) | 2021.04.12 |
---|---|
값으로서의 함수(변수, 매개변수, 리턴값, 객체속성, 배열값) & 콜백 (0) | 2021.04.12 |
Interface(인터페이스) - UI(User Interface) & API(Application Programming Interface) (0) | 2021.04.11 |
모듈(Module) & 라이브러리 - 호스트 환경에 따른 모듈의 로드 (0) | 2021.04.11 |
HTML <canvas> 태그 - 초록색 사각형 그리기 (0) | 2021.03.28 |