眾所周知,var,let 是宣告變數的,const是宣告常量的
先簡單剖析一下,var,let的區別
var 在ES6之前使用,而到了ES6之后官方就不推薦使用了,究其原因還是因為它自身的原因,導致代碼令人感覺不太合理,
console.log(num); var num = 10; // 列印 undefined, 而不是報錯, 這說明var將變數的宣告提升
// var num; num = 10; console.log(num); // 列印 10, var 將變數num的宣告提升到最頂層 var num;
for(var i=0;i<5;i++){ console.log("222222",i); } console.log("ssss",i) //由于用var宣告的i,所以在這里能獲取到for回圈中的i,產生了變數污染
而如果換成let的話就會提示很正確的錯誤,
console.log(num1); let num1 = 10; //Uncaught ReferenceError: Cannot access 'num1' before initialization
for(let i=0;i<5;i++){ console.log("222222",i); } console.log("ssss",i) //Uncaught ReferenceError: i is not defined 這是正常的錯誤
const 宣告的常量不能修改;
const num = 10 num = 11 // TypeError: Assignment to constant variable. console.log("num:",num)
const num; num = 10; // Uncaught SyntaxError: Missing initializer in const declaration console.log(num)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/546930.html
標籤:JavaScript
上一篇:前端設計模式——命令模式
下一篇:前端設計模式——命令模式
