前端进阶|第五天 const,let,var作用域问题

首先先看代码

        let alet = 20;
        const aconst = 10;
        var avar = 15;
        console.log(alet);
        console.log(aconst);
        console.log(avar);
        debugger;

运行截图如下
前端进阶|第五天 const,let,var作用域问题

会发现,let和const 定义的变量都属于块级作用域,而var为全局(*)作用域。
因此var 定义的变量是可以通过window访问的,let和const则不支持。

 let alet = 20;
        const aconst = 10;
        var avar = 15;
        {
            var ainvar = 10;
            const ainconst = 5;
            {
                const ainconst2 = 11;
            }
        }
        debugger;
        console.log(ainvar);
        console.log(ainconst);
        console.log(ainconst2);
        debugger;

把代码稍微改良一下,会发现,var是可以自动升域的,而const和let是不行的,如果在块内用const定义,外层是无法访问,而var可以。
前端进阶|第五天 const,let,var作用域问题

上一篇:前端进阶|第十三天 opacity: 0,visibility: hidden,display: none看不见元素看得见的属性


下一篇:前端进阶|第二天 apply和call