zoukankan      html  css  js  c++  java
  • es6

    1.let 和 const 命令

    (1)let 和 var 不同,var 的作用域是全局的,而let 的作用域是局部的,只在她当前的块内有效。

    {
    let a= 2;
    var b = 5;
    }
    console.log(b); //5
    console.log(a); //报错! a只在它的块内有效

    (2)let 写for循环,相当好用

    var sum = 0;
    for(let i = 0;i<100;i++){
    sum += i;
    }
    console.log(sum); //4950

    (3)var 和 let写循环的对比
    var arr = [];
    for(var m = 0;m<10;m++){
    arr[m] = function(){
    console.log(m);
    }
    }
    arr[6]();//10 var 是全局的,所以i全局有效,每次累加都改变,所以最后是10

    for(let n =0;n<10;n++){
    arr[n]=function(){
    console.log(n);
    }
    }
    arr[6]();//6 let是局部的,只在for这个块里有效


    (4)for循环语句和循环体的作用域区别
    for(let w = 0; w<10;w++){
    let w = "abc";
    console.log(w); //输出10次abc,说明for循环语句内的w和循环体内的w是不同作用域的
    //for循环语句内的w是父集作用域,循环体内的是子集作用域
    }


    2不存在变量提升
    console.log(a);  //undefined
    var a = 100;
    console.log(b); //报错!!let声明的变量必须在声明后才能使用
    let b = 10;


    3暂时性死区

     
     
  • 相关阅读:
    jquery 异步请求Demo【转载】
    jQuery Ajax 实例 ($.ajax、$.post、$.get)【转载】
    Tomcat内存溢出详解【转载】
    安装和运行(含虚拟机)
    搭博客遇到的坑
    H5易企秀
    兼容和Error捕获
    小程序常用代码
    微信小程序是什么
    wx地址和腾讯地图
  • 原文地址:https://www.cnblogs.com/lichunjing/p/6673982.html
Copyright © 2011-2022 走看看