[JavaScript] window 객체

2019. 2. 19. 17:01JavaScript

window객체

window객체는 브라우저에서 최상위(root)에 존재하는 중요한 객체입니다. 즉, window객체는 모든 객체의 조상이므로

window는 그냥 생략해서 사용합니다. 모두 포함하고 있는 걸 아니까 그냥 편하게 생략하고 사용하자!라고 볼 수 있습니다.


window.setTimeout()
setTimeout() // window를 생략가능(전역 객체라서)


인터넷 브라우저를 열면 여러가지 창을 제어할 수 있습니다. 흔히 경고창을 띄워줄 때 alert()라는 메소드를

많이 사용하고, setTimeout()/setInterval()같은 타이머 기능을하는 메소드 등도 window 객체의 메서드입니다. 



window.close() // 창을 닫는다.
window.open() // 새 창을 연다.
window.alert('주의!'); // 사용자에게 팝업을 띄워준다.
window.prompt('중복되는 내용입니다. 다른 닉네임을 입력해주세요'); // 사용자에게 팝업을 띄워주고 사용자 입력을 받을 수 있다.


setTimeout()

setTimeout()은 비동기적(asynchronous)으로 실행되어 다른 동기적인 실행이 끝나고 실행됩니다.
function printName(lastname) {
var myname = "hyeokjin";
return myname + " ," + lastname;
}

function run(lastname) {
console.log('start')
lastname = lastname || "Jang";
var result = printName(lastname);

setTimeout(()=>{
const msg = 'hi, shiningjean';
console.log(msg);
},1500);

console.log(result);
console.log('end');
}

run();

/*
start
hyeokjin ,Jang
end
hi, shiningjean
*/



setTimeout안의 콜백함수는 run()의 실행이 끝나고나서 실행이됩니다.


1500ms(1.5초)의 시간이 지나고 나서 그런 것이 아닙니다! 시간을 짧게 주고 해봐도 맨 마지막에 함수스택에서 모든 실행이 끝나고 

실행되기 때문에 마지막에 hi, shiningjean이 출력됨을 확인할 수 있습니다



window의 객체가 궁금하면 참고(https://www.w3schools.com/jsref/obj_window.asp)해주시면 감사합니다 :)


[ edwith - 웹프로그래밍 부스트코스 ] 를 개인적으로 공부하고 정리한 공간입니다. 잘못된 부분은 피드백 주시면 감사하겠습니다