1. 程式人生 > >關於變量聲明的var,let,const

關於變量聲明的var,let,const

報錯 不存在 com 輸出 ges 操作 之前 alt 沒有

   在js中,用var聲明的話,在同一個作用域的範圍內會存在聲明提前的情況,舉個例子:

      技術分享

    按常理來說,我們此時需要的b應該輸出的是 not defined 才對,但是實際上並沒有,因為var b在判斷之前已經聲明了,在判斷之後只是進行了賦值的操作而已。

    用var聲明在同一個作用域內是可以進行重復聲明,瀏覽器並不會報錯;

    但是用let和const聲明變量的話,在同一個作用域內是不允許重復聲明,重復聲明會告訴你該變量已經存在了,

    必須是先定義再使用,不存在聲明t提前這回事;

    技術分享 技術分享

    有著嚴格的作用域,聲明的變量只能在當前的作用域內使用,而且存在了塊級作用域(帶有{}的代碼塊)。通常在for,if 這些裏面用var 聲明變量,該變量的作用域不止只屬於當前的

    的塊級作用域,當然在js中是不存在塊級作用域的,但是用let和cont,會把代碼塊當做一個塊級作用域,對於變量的管理起到了很好的作用;

    const

    其中const 聲明的是一個只讀的常量,而且一旦聲明,常量的值就不能改變,使用const的聲明的同時必須賦值,不然會報錯

    技術分享

關於變量聲明的var,let,const