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