메뉴 건너뛰기

관리자2018.10.19 15:01

궁금한 것에 적극적인 질문을 주신 것 환영합니다.

프로그램이 실행되는과정과 전역변수를 이해하면 현재 상황을 이해할 수있을것 같군요.
우선 브라우저는 HTML 문서를 위에서 부터 하나씩 실행한다는 사실을 염두에 두고 아래 글을 읽어 보세요.

1. var result=document.getElementById("result") 문장이
<div id="result"></div> 보다 앞에 있게 되면 id 속성이 "result"인 태그를 발견할 수 없어서 오류가 나는 겁니다.

2. 다음은 자바스크립트 함수의 선언입니다.
function promptEX() {
...
}
선언된 함수는 웹페이지가 사라질 때까지 그 생명을 가지고 있고, 어디서든지 호출될 수 있습니다.

3. var result=document.getElementById("result") 문장을 <div id="result"></div> 보다 아래에 두면
브라우저는 id 속성이 "result"인 태그를 발견하는데 문제가 없지요.
그리고 var result=document.getElementById("result") 문장이 실행되면 result 라는 전역변수가 생기고 이 변수는 <div id="result"></div>에 의해 형성되는 객체(8장에서 설명할 DOM 객체)를 가리키고 있습니다.
전역변수는 웹 페이지가 사라질 때까지 존재하는 변수입니다.
그리고 나서 사용자가 웹 페이지에 버튼을 누를 때 promptEX() 함수가 호출되고,
이 함수에 전역변수 result 를 접근하는데는 문제가 없지요. 또한 전역변수 result 는 여전히 <div id="result"></div>에 의해 형성되는 객체를 가리키고 있습니다.

이상입니다.

파일 첨부

여기에 파일을 끌어 놓거나 파일 첨부 버튼을 클릭하세요.

파일 크기 제한 : 0MB (허용 확장자 : *.*)

0개 첨부 됨 ( / )
위로