首頁  >  問答  >  主體

javascript - let 宣告變數

let 不會有變數提升;如果我在宣告之前使用let,瀏覽器應該會報錯;但是我的列印出來是未定義;是我理解錯誤還是我寫法錯誤;

##
某草草某草草2686 天前757

全部回覆(3)我來回復

  • 伊谢尔伦

    伊谢尔伦2017-06-12 09:31:34

    錯誤Uncaught ReferenceError: a is not defined表示變數未定義, 而不是指這個變數是undefined, 如果變數variable的值是undefined undefined而不應該報錯.

    回覆
    0
  • 学习ing

    学习ing2017-06-12 09:31:34

    let和const宣告的變數不會有宣告提前,這表示執行時期執行上下文在沒有進行詞法綁定前,變數不可存取。

    function foo(){
    |
    | not accessible
    |
    let a = 1
    }

    回覆
    0
  • PHP中文网

    PHP中文网2017-06-12 09:31:34

    這裡 第二行程式碼 沒啥意義

    第一行 列印 列印時
    由於是 let所是 not define 因為沒有提升
    第二行 let xxx 不寫應該也是這個錯誤

    如果是 var 就是 undefined
    因為 有了提升的變數 但是並沒有指定或複製

    回覆
    0
  • 取消回覆