부스트코스 - 웹/2. DB 연결 웹 앱
[부스트코스]웹 프로그래밍 18. 전역(window) 객체 메서드
끵뀐꿩긘
2020. 3. 6. 16:39
Window
인터넷 브라우저를 보면 위에 탭들도 있고, 주소창도 있고, 즐겨찾기도 있고 그 밑에부터는 이제 웹사이트가 표시됩니다. 여기서 브라우저 전체를 담당하는 게 Window 객체이고, 웹사이트만 담당하는게 Document 객체라고 이해하시면 됩니다. Document도 Window 객체 안에 들어있습니다.
window는 모든 객체의 조상입니다. 전역객체(글로벌객체)라고 하는데요. 모든 객체를 다 포함하고 있기 때문에 window는 그냥 생략가능합니다. window 객체 아래를 보면, String, Boolean, Object, Number, Function, Array같은 자료형도 다 들어있습니다.
<window 객체 메서드 >
window.open()
새 창을 엽니다.
window.close()
현재 창을 닫습니다.
window.setTimeout(함수, 밀리초), window.setInterval(함수, 밀리초)
setTimeout은 지정한 초 뒤에 실행되고, setInterval은 지정한 초마다 반복됩니다.
이 두개의 함수는 콜백 함수라는 특징을 가지고 있습니다.
setTimeout, setInterval의 실행은 비동기(asynchronous)로 실행되어 동기적인 다른 실행이 끝나야 실행됩니다.
ex)
1
2
3
4
5
6
7
8
9
10
|
function run() {
console.log("start");
setTimeout(function() {
var msg = "hello codesquad";
console.log(msg); //이 메시지는 즉시 실행되지 않습니다.
}, 1000);
console.log("end");
}
run();
|
cs |
3번째 줄부터 시작되는 setTimeout 함수는 콜백 함수이기 때문에, run 함수를 실행시켜보면,
>>>start
>>>end
(1000ms 후에)
>>>hello codesquad
라는 결과가 나옵니다.
즉 비동기적인 콜백함수는 stack에 쌓여있는 함수의 실행이 끝나고 나서 실행됩니다.