zoukankan      html  css  js  c++  java
  • let和const

    ES6新增了let取代var,let主要有以下特点。

    1 只在代码块内有效,代码块外不能使用let声明的变量。let很适合声明循环体的变量。

    它可以解决一些闭包的问题存在的问题比如:

    var a = [];
    for (var i = 0; i < 10; i++) {
      a[i] = function () {
        console.log(i);
      };
    }
    a[6](); // 10
    var a = [];
    for (let i = 0; i < 10; i++) {
      a[i] = function () {
        console.log(i);
      };
    }
    a[6](); // 6

    2 不存在变量提升 。

    3 暂时性死区

    从进入某个块级作用域开始到用let声明一个变量这个区间内属于该变量的暂时性死区,也叫TDZ。

    const与let类似有以下特点

    只在代码块内有效,const声明的变量不能提升,存在TDN

    const声明一个只读的常量。一旦声明,常量的值就不能改变。倒是可以为它添加属性,const一旦声明变量,就必须立即初始化。它本质上就是一个指针指向一块内存,你能改变它指向的内存中的数据,但是不能改变它的指向。

    6种声明变量的方法  let  const  import  class   var   function   其中前四种是ES6新增的。

    let const 声明的全局变量不属于window属性

    来自一条咸鱼的忠告
  • 相关阅读:
    28图结构的类实现
    27图的拓扑排序
    26最短路径之Floyd算法
    25最短路径之Dijkstra算法
    24最小生成树之Prim算法
    23最小生成树之Kruskal算法
    22-1图的遍历的源代码
    22图的遍历
    21图结构的基本概念
    20树结构的类实现
  • 原文地址:https://www.cnblogs.com/lwtreact/p/9978996.html
Copyright © 2011-2022 走看看