首页  >  问答  >  正文

javascript - let 声明变量

let 不会有变量提升;如果我在声明之前使用let,浏览器应该会报错;但是我的打印出来是未定义;是我理解错误还是我写法错误;

某草草某草草2686 天前759

全部回复(3)我来回复

  • 伊谢尔伦

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

    错误Uncaught ReferenceError: a is not defined表示变量未定义, 而不是指这个变量是undefined, 如果变量variable的值是undefined, 那么console.log(variable)应该输出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
  • 取消回复