Window 객체
브라우저 개발을 하다보면 window 객체가 있다.
window에는 많은 메서드들이 존재하며, 아래처럼 사용할 수 있다.
window는 디폴트의 개념이므로 생략할 수 있다.
|
window.setTimeout()
setTimeout() // window는 전역객체라서 생략 가능하다. |
setTimeout 활용
setTimeout은 인자로 함수를 받고 있으며, 보통 나중에 실행되는 함수를 콜백함수라고도 한다. 자바스크립트는 함수를 인자로 받을 수 있는 특징이 있다. 또한 함수를 반환할 수도 있다.
| function run ( ) { setTimeout(function ( ) { var msg = "hello codesquad"; console.log(msg); // 이 메시지는 즉시 실행되지 않는다. 2초 뒤에 실행된다. }, 2000 ); } run( ); |
setTimeout의 실행은 비동기로 실행되어 동기적인 다른 실행이 끝나야 실행된다.
setTimeout의 특성을 잘 이해하고, 지연실행이 필요한 경우에 잘 활용하면 좋다.
| function run ( ) { //run start와 run end가 먼저 출력되고 msg와 run......ing가 출력된다. console.log("run start"); setTimeout(function ( ) { var msg = "hello codesquad"; console.log(msg); // 이 메시지는 즉시 실행되지 않는다. 2초 뒤에 실행된다. console.log("run.......ing"); }, 2000 ); console.log("run end"); } run( ); |
| function run () { setTimeout(function ( ) { var msg = "hello codesquad"; console.log(msg); }, 2000); } console.log("run start"); //run start와 run end가 먼저 출력되고 마지막에 run( )이 실행된다. run( ); console.log("run end"); |
| function run () { setTimeout(function ( ) { var msg = "hello codesquad"; console.log(msg); }, 2000); console.log("run function end"); } console.log("run start"); //run start > run function end > run end > msg 순으로 출력된다. run( ); console.log("run end"); |
스택이 쌓이고 나서 비동기는 나중에 실행된다. 함수가 실행된 이후에 run이 실행된다.
참고 : boostcourse https://www.boostcourse.org/web316/lecture/16698?isDesc=false
웹 프로그래밍(풀스택)
부스트코스 무료 강의
www.boostcourse.org
'boostcource > boostcourse_web programming' 카테고리의 다른 글
| Browser Event, Event listener (0) | 2024.04.13 |
|---|---|
| DOM과 querySelector (0) | 2024.04.12 |
| [JavaScript] javascript -5 (0) | 2024.04.11 |
| [JavaScript] javascript -4 (0) | 2024.04.11 |
| [JavaScript] javascript -3 (0) | 2024.04.11 |