JS变量提升(let&const)

续上篇,来说一下后来js的解决办法。

<script>
    // 执行以下代码会报错
    console.log(web);
    let web = 12;
</script>

很显然,用let这种声明方式,就会报错,原因:TDC临时性死区。

在函数中:

<script>
    // 执行以下代码会报错
    let web = "james";
    function hd(){
        console.log(web);
        let web = "harden";
    }
    hd();
</script>

原因:当函数中console.log要输出时,会在当前作用域内寻找值,发现在自己的后面有一个值,但是用不了,报错。

posted @ 2022-03-03 13:44  沉梦昂志_doc  阅读(74)  评论(0)    收藏  举报