(10)变量提升
JavaScript 中,函數及變量的聲明都將被提升到函數的最頂部。
JavaScript 中,變量可以在使用后聲明,也就是變量可以先使用再聲明。
以下兩個實例將獲得相同的結果:
x = 5; // 變量 x 設置為 5 elem = document.getElementById("demo"); // 查找元素 elem.innerHTML = x; // 在元素中顯示 xvar x; // 聲明 x var x; // 聲明 x x = 5; // 變量 x 設置為 5 elem = document.getElementById("demo"); // 查找元素 elem.innerHTML = x; // 在元素中顯示 x要理解以上實例就需要理解 "hoisting(變量提升)"。
變量提升:函數聲明和變量聲明總是會被解釋器悄悄地被"提升"到方法體的最頂部。
JavaScript 初始化不會提升
JavaScript 只有聲明的變量會提升,初始化的不會。
以下兩個實例結果結果不相同:
var x = 5; // 初始化 x var y = 7; // 初始化 y elem = document.getElementById("demo"); // 查找元素 elem.innerHTML = x + " " + y; // 顯示 x 和 y var x = 5; // 初始化 x elem = document.getElementById("demo"); // 查找元素 elem.innerHTML = x + " " + y; // 顯示 x 和 yvar y = 7; // 初始化 y在頭部聲明你的變量
對于大多數程序員來說并不知道 JavaScript 變量提升。
如果程序員不能很好的理解變量提升,他們寫的程序就容易出現一些問題。
為了避免這些問題,通常我們在每個作用域開始前聲明這些變量,這也是正常的 JavaScript 解析步驟,易于我們理解。
轉載于:https://www.cnblogs.com/blogforvi/p/7685781.html
總結
- 上一篇: win7专业版64位,台式机睡眠和休眠后
- 下一篇: Java容器源码分析-HashSet v