給大家建議使用的優先級:const > let > var
首先const聲明常量的好處,一是閱讀代碼的人立刻會意識到不應該修改這個值,
二是防止了無意間修改變量值所導致的錯誤,另外其實js編譯器也對const進行了優化,可以提高代碼的執行效率;
另外let聲明的變量沒有預編譯和變量升級的問題,先聲明再使用其實更為規范,而let本身是一個塊級作用域,很多時候我們在寫代碼的時候都希望變量在某個代碼塊內生效,也更為方便。
最后說一點就是使用的場景說明:let一般應用于基本數據類型;const 一般應用于引用數據類型,也就是函數對象等。
A,var定義變量的一些特點:
1、var定義的變量會預解析,簡單的說就是如果變量沒有定義就直接使用的話,JavaScript回去解析這個變量,代碼不會報錯,只會輸出undefined
2、var定義的變量可以反復去定義,當然后面的會覆蓋前面的
3、var在循環中使用的時候,循環體外依然可以使用
4、在循環綁定事件過程中,var定義的變量無法保存,循環會在瞬間執行完
B、let聲明的變量的特點
1、let定義的變量不會預解析,必須先聲明再使用,否則會報錯
2、let不能定義已經定義過的變量(無論之前是用var定義的還是let或者const定義的)
3、let是塊級作用域,函數內部使用let定義后,對函數外部無影響,簡單說就是在一個{}里面生效
4、由于let是塊級作用域,在循環綁定事件過程中let會在這個循環中生效,再次循環時let會重新定義生效
C、const聲明的變量的特點:
1、const定義的變量不會預解析,必須先聲明再使用,否則會報錯
2、const定義的變量不允許修改
但在數組里面,const的值是允許被修改的,這是因為const存儲的是地址,值的內容可以變化
【版權聲明】嘰嘰歪歪吧提醒您:請在瀏覽本網站關于《var和let的區別(const和let的區別)》信息時,請您務必閱讀并理解本聲明。本站部分內容以及圖片來源于商家投稿和網絡轉載,如網站發布的有關的信息侵犯到您的權益,請及時與我們取得聯系,郵箱:20451 17252#qq。com,我們會尊重您的決定并當天作出刪除處理。