Hoisting
by sikusikucom
JavaScript
var num = 18;
function foo() {
// num is undefined, at this point
console.log(num);
var num = 9;
// prints 9
console.log(num);
}
foo();
// prints 18
console.log(num);
function bar() {
// prints 18
// note that there is no redeclaration of 'num'
console.log(num);
// updates the global variable
num = 10;
// prints 10
console.log(num);
}
bar();
// prints 10
console.log(num);