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

  1. 云栖社区>
  2. 博客>
  3. 正文

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

NULLISNULL 2019-09-09 22:59:29 浏览87
展开阅读全文

首先先看代码

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

运行截图如下
0

会发现,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可以。
1

网友评论

登录后评论
0/500
评论
NULLISNULL
+ 关注