1. 程式人生 > >js全域性變數和區域性變數以及變數宣告提升

js全域性變數和區域性變數以及變數宣告提升

區域性變數和全域性變數重名時:
一、Javascript的變數的scope是根據方法塊來劃分的(也就是說以function的一對大括號{ }來劃分)。切記,是function塊,而for、while、if塊並不是作用域的劃分標準。
二、
當全域性變數跟區域性變數重名時,區域性變數的scope會覆蓋掉全域性變數的scope,當離開區域性變數的scope後,又重回到全域性變數的scope,而當全域性變數遇上區域性變數時,用window.globalVariableName取全域性變數的值。

<script>
var a =1;
function test(){
console.
log(window.a); //a為1,這裡的a是全域性變數哦! console.log(a); //輸出undefined 區域性變數宣告提升 var a=2; //區域性變數a在這行定義 console.log(a); //a為2,這裡的a是區域性變數哦! } test(); console.log(a); //a為1,這裡並不在function scope內,a的值為全域性變數的值 </script>