예시
console.log(sum(1, 2)); console.log(multiply(3, 4)); function sum (a, b) { // 함수 선언문 sum return a + b; } var multiply = function (a, b) { // 함수 표현식 multiply return a + b; } **//함수 선언문은 전체를 hoisting** function sum (a, b) { // 함수 선언문 sum return a + b; } // 변수는 선언부만 hoisting var multiply; console.log(sum(1, 2)); console.log(multiply(3, 4)); multiply = function (a, b) { // 변수의 할당부는 원래 자리 return a + b; };
var a = 1; //전역영역
var outer = function() {
var inner = function() {
console.log(a); // 이 값은 뭐가 나올지 예상해보세요! 이유는 뭐죠? scope 관점에서!
var a = 3;
};
inner();
console.log(a); // 이 값은 또 뭐가 나올까요? 이유는요? scope 관점에서!
};
outer();
console.log(a); // 이 값은 뭐가 나올까요? 마찬가지로 이유도!