当前位置: 移动技术网 > IT编程>开发语言>JavaScript > es6 学习1 let表示变量 、const表示常量 与 var 变量的区别

es6 学习1 let表示变量 、const表示常量 与 var 变量的区别

2018年03月20日  | 移动技术网IT编程  | 我要评论

心似海洋txt,白菜论坛,非诚勿扰刘洛汐

1、看下代码,在函数中无论在哪里声明变量,都会自动提到函数顶部,这就是函数变量提升,它的作用于为当前函数中。

function aa() {
    if(bool) {
        var test = 'hello man'
    } else {
        console.log(test)
    }
  }

浏览器解析时

function aa() {
    var test // 变量提升
    if(bool) {
        test = 'hello man'
    } else {
        //此处访问test 值为undefined
        console.log(test)
    }
    //此处访问test 值为undefined
  }

所以不用关心bool是否为true or false。实际上,无论如何test都会被创建声明。

2、当使用let 和 const 时它们的作用域为{}

function aa() {
    if(bool) {
       let test = 'hello man'
    } else {
        //test 在此处访问不到
        console.log(test)
    }
  }

 let的作用域是在它所在当前代码块,但不会被提升到当前函数的最顶部,所以当为false时访问不到test

再说一下

const name = 'lux'
    name = 'joe' //再次赋值此时会报错

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网