es6學習總結一

一.let與var 的區別

(1).做用域:

 let什麼的變量在塊級做用域內有效,而var聲明則在全局做用內有效函數

(2).變量提高:

 let聲明的變量不存在變量提高,即必定要在聲明以後才能調用,不然就會報錯;es5

 而var聲明的變量則是存在變量提高的,即在聲明以前也是能夠調用的,不過結果值爲undefined。spa

(3).暫時性死區:

只要塊級做用域內存在let命令,它聲明的變量就綁定在這個區域內,即便在全局裏面有同名的變量,也跟這個不要緊了,在該做用區域內,使用let聲明以前,該變量都不可用。內存

(4)重複聲明:

let聲明的變量,在同一做用域內是不容許被重複聲明的;作用域

而var聲明的變量則能夠在同一做用域內被重複聲明。變量

二.塊級做用域的做用

(1).解決了es5中內層變量可能覆蓋外層變量的問題循環

(2).避免了循環變量泄漏爲全局變量let

(3).避免內外層變量互相影響函數表達式

(4)能夠替代當即執行函數表達式undefined

相關文章
相關標籤/搜索