Call Stack
Web APIs
Callback Queue
Console
function foo(){
console.log('foo');
}
function bar(){
console.log('bar');
}
setTimeout(foo, 0);
bar();전역 코드 평가 - 전역 실행 컨텍스트 생성
anonymous
Call Stack
Web APIs
Callback Queue
Console
function foo(){
console.log('foo');
}
function bar(){
console.log('bar');
}
setTimeout(foo, 0);
bar();전역 코드 실행 - setTimeout 실행 컨텍스트 생성
anonymous
setTimeout(foo, 0)
Call Stack
Web APIs
Callback Queue
Console
function foo(){
console.log('foo');
}
function bar(){
console.log('bar');
}
setTimeout(foo, 0);
bar();전역 코드 실행 - bar 실행 컨텍스트 생성
anonymous
bar
timeout(foo, 0)
Call Stack
Web APIs
Callback Queue
Console
function foo(){
console.log('foo');
}
function bar(){
console.log('bar');
}
setTimeout(foo, 0);
bar();bar 코드 실행 - console.log 실행 컨텍스트 생성
anonymous
timeout(foo, 0)
bar
console.log('bar')
Call Stack
Web APIs
Callback Queue
Console
function foo(){
console.log('foo');
}
function bar(){
console.log('bar');
}
setTimeout(foo, 0);
bar();console.log 코드 실행 및 실행 종료
anonymous
bar
bar
foo
Call Stack
Web APIs
Callback Queue
Console
function foo(){
console.log('foo');
}
function bar(){
console.log('bar');
}
setTimeout(foo, 0);
bar();bar 코드 실행 종료
anonymous
bar
foo
Call Stack
Web APIs
Callback Queue
Console
function foo(){
console.log('foo');
}
function bar(){
console.log('bar');
}
setTimeout(foo, 0);
bar();전역 코드 실행 종료
bar
foo
Call Stack
Web APIs
Callback Queue
Console
function foo(){
console.log('foo');
}
function bar(){
console.log('bar');
}
setTimeout(foo, 0);
bar();foo 코드 실행 - foo 실행 컨텍스트 생성
bar
foo
Call Stack
Web APIs
Callback Queue
Console
function foo(){
console.log('foo');
}
function bar(){
console.log('bar');
}
setTimeout(foo, 0);
bar();foo 코드 실행 - console.log 실행 컨텍스트 생성
bar
foo
console.log('foo')
Call Stack
Web APIs
Callback Queue
Console
function foo(){
console.log('foo');
}
function bar(){
console.log('bar');
}
setTimeout(foo, 0);
bar();bar
foo
console.log 코드 실행 및 실행 종료
foo
Call Stack
Web APIs
Callback Queue
Console
function foo(){
console.log('foo');
}
function bar(){
console.log('bar');
}
setTimeout(foo, 0);
bar();bar
foo 코드 실행 종료
foo