var name = 'Kai';
init();
function init() {
var name = "Steve";
function displayName() {
console.log(name);
}
displayName();
}
코드를 로드하기 전
var name;
var init = function init() {
var name = "Steve";
function displayName() {
console.log(name);
}
displayName();
}
name = 'Kai';
코드를 로드하여
전역 Execution Context를 생성
범위의 모든 선언을 참고(Hoisting)
변수의 의미가 통하는 곳(Lexical Scope)
var name;
var init = function init() {
var name;
var displayName = function displayName() {
console.log(name);
}
name = "Steve";
displayName();
}
name = 'Kai';
init을 호출하여
init Execution Context를 생성
범위의 모든 선언을 참고(Hoisting)
변수의 의미가 통하는 곳(Lexical Scope)
var name;
var init = function init() {
var name;
var displayName = function displayName() {
console.log(name);
}
name = "Steve";
displayName();
}
name = 'Kai';