let與var的區別,為什么什么要用let?


1.var是全局聲明,let是塊級作用的,只適用於當前代碼塊

var a = 1if(true){

let a;

a=22;

console.log(a);'//22
}  

 

if(){}內就是let作用於的塊

2.var變量會發生變量提升,let則不會進行變量提升

console.log(a)

var a=2;

console.log(a)   結果為underfined

 

如果是 let a =2 則會提示報錯

3.var 會造成重復賦值,循環里的賦值可能會造成變量泄露至全局

4.let在一個塊級作用只能賦一次值,並進行當前代碼塊的鎖區,就是說當前塊只有let聲明的這個變量是有用的

var a =2if(true){
a=3;//這個值會賦值失敗,因為let造成了if{}這塊代碼的鎖區

let a;
}

 

 

5.let在一個塊級內,只能聲明一個一個相同的變量名

var a =2;

if(true) {

var a=1;//a=1

let a=1;

let a=2;//報錯

}

 

  

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM