es6系列-变量声明

es6系列所有文章都是阅读阮一峰老师的《ES6标准入门》(第2版)所做的读书笔记。方便日后查阅相关基础知识。

git地址: https://github.com/rainnaZR/es6-study

变量声明方法

es6的变量声明方面包括: let, const, var, function, import, class。

let变量声明

  • 不存在变量提升,变量一定要在声明后才能使用,也就是变量声明前,变量都是不可用的。
  • 不允许重复声明。
  • 拥有块级作用域,一个大括号就是一个块级作用域。

const变量声明

  • 不存在变量提升,变量一定要在声明后才能使用,也就是变量声明前,变量都是不可用的。
  • 不允许重复声明。
  • 拥有块级作用域,一个大括号就是一个块级作用域。
  • const变量声明常量,声明之后值不能更改。
  • 指向引用类型的变量时,只指向数据存放的地址,不指向实际的数据。
  • 全局变量的属性使用 var 来声明。
/*
* for循环场景
* */
function constset(index) {
    var a = [];
    for(var m=0;m<index;m++){
        a[m] = function(){
            console.log('var:' + m);
        }
    }
    a[0]();
    a[1]();
    a[2]();
    a[3]();
    a[4]();

    for(let n=0;n<index;n++){
        console.log('let:' + n);
    }
}

constset(5);//输出: var:5  var:5  var:5  var:5  var:5  let:0  let:1  let:2  let:3  let:4


/*
* 块级作用域
* */
function test(){
    let n = 5;
    if(true){
        let n = 10;
        console.log('n:' + n);
    }
    console.log('n:' + n);
}

test();    //输出:  n:10  n:5
原文地址:https://www.cnblogs.com/zourong/p/6780286.html