美文网首页
ES6 块级作用域

ES6 块级作用域

作者: Cissy_fba3 | 来源:发表于2018-10-28 22:51 被阅读0次

{}块级作用域,作用域之间互不影响(不管是父子还是孙子什么的,不像函数作用域,儿子没有可以找父亲要)

let 解决var的变量提升问题,让变量安安分分地呆在自己的位置(可以不用闭包和立即执行函数了)
1.let与{}一起,先声明再使用,不然会报错(Temp Dead Zone)
2.let只认{},出了{}使用,报错。

{
  //console.log(a)   报错
  let a=1
  //console.log(a)  1
    {
      //console.log(a)   报错
      let a=2
     //console.log(a)   2
        {
            //console.log(a)   报错
            let a=3
            //console.log(a)  3
        }
    }
}

const与let差不多,唯一区别:const只能赋值一次——常量——声明的时候必须赋值。

for(let i=0;i<6;i++){//i的作用域只在括号里面(),花括号{}里面是访问不到i的
}

以下语句会产生 let 使用的作用域:
for; if; switch;try/catch/finally。

暂时性死区
只要块级作用域内存在let命令,它所声明的变量就“绑定”(binding)这个区域,不再受外部的影响。

var tmp = 123;

if (true) {
  tmp = 'abc'; // ReferenceError
  let tmp;
}

相关文章

  • js 作用域链 和 原型链

    作用域链 js拥有全局作用域(window)、函数作用域、块级作用域(es6)。块级作用域是es6开始才拥有的,因...

  • JS基础知识(2) -- 作用域和作用域链

    作用域 作用域就是变量与函数的可访问范围 全局作用域 函数作用域 ES6块级作用域 ES5没有块级作用域,ES6有...

  • js 作用域

    js 作用域主要有:全局作用域和局部作用域,es5之前没有块级作用域,es6有了块级作用域 何为块级作用域,块级作...

  • let 和 const

    一、JS中的块级作用域 ES6之前JS不支持块级作用域在ES6之前,JS是没有块级作用域这个概念的,只有全局作用域...

  • ES6分享会总结

    学到的内容 ES6的块级作用域 1. 块级作用域的概念 2. ES6允许在块级作用域内声明函数 3. 函数在块级作...

  • 你真的懂let和const吗?

    块级作用域 在ES6之前我们脑海里应该只存在全局作用域和函数级作用域,没有块级作用域。那么为什么要引入块级作用域呢...

  • ES6语法--let和const

    1:let和const:作用域,全局作用域,函数作用域以及块级作用域(es6)。 let声明的变量只在块级作用域内...

  • ES2015(ES6)学习手册

    作用域 全局作用域 函数作用域 块级作用域(es6) let let 声明的变量只在所处的块级有效 let没有变量...

  • 块级绑定

    因为ES6之前存在变量提升问题,容易造成问题,ES6引入了块级作用域。 块级声明 块级作用域在函数或者块({})中...

  • 前端(ES6)

    1.块级作用域的引入 在ES6之前,js只有全局作用域和函数作用域,ES6中let关键字为其引入了块级作用域。 l...

网友评论

      本文标题:ES6 块级作用域

      本文链接:https://www.haomeiwen.com/subject/lnuzaftx.html