브라우저 전체를 담당하는 게 Window 객체이고, 웹사이트만 담당하는 게 Document 객체라고 이해하면 된다. Document도 Window 객체 안에 들어있다.
window 객체 아래에는 대표적으로 screen, location, history, document 같은 객체들이 있다.
메소드는 parseInt, isNaN 같은게 있는데, window.parseInt()
이렇게 써야할 것 같지만 parseInt()
처럼 window 는 생략이 가능하다.
그 이유는 window는 모든 객체의 조상이고 전역 객체(글로벌객체)라고 하는데 모든 객체를 다 포함하고 있기 때문에 window 는 생략하고 사용한다.
브라우저의 개발자 도구 Console 탭에서 window 를 치고 . 을 치면 많은 속성과 메소드들이 나오는데,
그 안에 String, Boolean, Object, Number, Function, Array 같은 자료형 도 다 들어있다.
놀라운 것은 우리가 만든 전역 변수들도 모두 window 객체 안에 등록된다.
open('https://velog.io'); // 새 탭
open('https://velog.io', '_self'); // 현재 탭
open('', '', 'width=200, height=200'); // 가로세로 200px의 팝업 창
setTimeout(function() {
alert('1초 뒤');
}, 1000);
setInterval(function() {
console.log('1초 마다');
});
setTimeout과 setInterval을 실행한 후 중간에 멈춰야하는 경우에는 clearTimeout과 clearInterval 을 사용한다.
setTimeout, setInterval을 변수에 저장한 후 그 변수를 사용해 중지하면 된다.
var timeout = setTimeout(function() {}, 1000);
clearTimeout(timeout);