끵뀐꿩긘의 여러가지

[부스트코스]웹 프로그래밍 18. 전역(window) 객체 메서드 본문

부스트코스 - 웹/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에 쌓여있는 함수의 실행이 끝나고 나서 실행됩니다.

 


Comments