JS中let和var的區別


1作用域不同

var是函數作用域,let是塊作用域。

在函數中聲明了var,整個函數內都是有效的,比如說在for循環內定義的一個var變量,實際上其在for循環以外也是可以訪問的

而let由於是塊作用域,所以如果在塊作用域內定義的變量,比如說在for循環內,在其外面是不可被訪問的,所以for循環推薦用let

(2)let不能被重新定義,但是var是可以的

(3)let不能在定義之前訪問該變量,但是var可以

let必須先聲明,在使用。而var先使用后聲明也行,只不過直接使用但沒有定義的時候,其值是undefined。

var有一個變量提升的過程,當整個函數作用域被創建的時候,實際上var定義的變量都會被創建,並且如果此時沒有初始化的話,則默認為初始化一個undefined。


免責聲明!

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



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