let


let和var區別

var出了塊級區域有效

let出了塊級無效

var聲明均視為作用域頂部聲明 因為var具備變量提升能力

let聲明不具備變量提升能力,離開作用域后就會馬上失效,適合局部變量容易掌控

變量提升還帶有一個問題,聲明之前使用產生的結果不相同

var在后面聲明前面輸出值邏輯怪異,結果顯示undefined一般表示變量聲明,只是沒賦值,一般順序都是在前面

例子:

console.log(value);
var value;
變量提升導致邏輯怪異
let聲明方式不管前后都是引用錯誤
例子:
//let count放前面可以用符合邏輯
// console.log(count);
// let count//錯的詳細
 var重復聲明只取后面的值
let不能重復聲明,重復聲明會報錯只能聲明一個其中一個是var也不行
可以一個在作用域內部,一個在外部(不能使用會混亂)
 
循環時,var和let區別更明顯
let只在內部循環有效,后續使用i不會受到干擾
var全局都有效,但是在使用i會受到干擾
 
let和const
const的聲明的作用:創建一個常量,聲明就不可以更改
和let相同的是,const聲明后無法提升,存在臨時死區
臨時死區:if(true){
死區開始
vlue=10;
console.log(vule);
死區結束
}
 
和let不同的是,const聲明后不立馬賦值就會報錯
 
 
 
 
 
 
 

 


免責聲明!

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



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