1. 程式人生 > >JS中的let變數

JS中的let變數

let允許宣告一個作用域在塊級的表示式、變數或者語句

在function中區域性變數推薦使用let變數   避免變數名衝突

let宣告的變數只在其塊或子塊中起作用   與var不同的是   var宣告的變數作用域是整個封閉函式

(1)

function(  ){

var x=0;

if ( true ) {

var x=2;

console.log(x);   //輸出2

}

console.log(x);    //輸出2

}

因為var宣告的變數將會作用與整個封閉函式

執行var x=2程式碼行後x的值就固定為2

直到function塊結束

(2)

function(  ){

var x=0;

if ( true ) {

let x=2;

console.log(x);   //輸出2

}

console.log(x);    //輸出0

}

let宣告的變數x作用域僅侷限在if塊中  在if塊中輸出為2

當if塊執行完畢後   外部的var x=0作用在整個function函式中  所以x的值為0