JavaScript 變數提升
JavaScript 中,函數及變數的宣告都會提升到函數的最頂端。
JavaScript 中,變數可以在使用後聲明,也就是變數可以先使用再聲明。
以下兩個實例將獲得相同的結果:
x = 5; // 变量 x 设置为 5 elem = document.getElementById("demo"); // 查找元素 elem.innerHTML = x; // 在元素中显示 x var x; // 声明 x
var x; // 声明 x x = 5; // 变量 x 设置为 5 elem = document.getElementById("demo"); // 查找元素 elem.innerHTML = x; // 在元素中显示 x
上面兩個範例中效果我結果是相同的。
要理解以上實例就需要理解 "hoisting(變數提升)"。
變數提升:函數宣告和變數宣告總是會被解釋器悄悄地被"提升"到方法體的最頂端。
JavaScript 初始化不會提升
JavaScript 只有宣告的變數會提升,初始化的不會。
以下兩個實例結果結果不相同:
範例1:
var x = 5; // 初始化 x var y = 7; // 初始化 y elem = document.getElementById("demo"); // 查找元素 elem.innerHTML = x + " " + y; // 显示 x 和 y下一節