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暂时性死区

     
     
  • 相关阅读:
    JDK所有版本
    application.yml配置log日志
    eclipse配置lombok
    Eclipse配置springboot
    java 连接mongodb
    MongoDB shell操作
    mysql插入一万条数据
    Web设计精髓(转)
    SyntaxHighlighter -- 代码高亮插件
    input之placeholder与行高的问题。
  • 原文地址:https://www.cnblogs.com/lichunjing/p/6673982.html
Copyright © 2011-2022 走看看