今天要談的是 JavaScript 的 Hoisting。
var greet;
console.log(greet);
undefined
var greet = 'Hello';
console.log(greet);
Hello
console.log(string);
var string = 'HI';
undefined
會造成這樣的結果,原因就在 JavaScript 中使用 var 宣告變數時,會將 var 提升(Hoisting)到最頂端宣告。
var greet;
console.log(greet);
greet = 'Hello';
undefined
簡單來說,不管你在哪一行用 var 宣告變數,都當作在函數的第一行宣告。