suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript - Verwirrt über die Let-in-for-Schleife in ES6?



Wie im Bild oben gezeigt, zeigt das Bild oben, dass ich deklariert wurde, das heißt, es kann nicht wiederholt deklariert werden, aber im Bild unten kann es mit let erneut deklariert werden. Warum?

大家讲道理大家讲道理2742 Tage vor512

Antworte allen(2)Ich werde antworten

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-19 10:16:43

    为什么let能重复声明? 图示


    关于let声明跟var声明为什么会冲突? 首先 var 声明会提升到当前作用的顶端,即顺序是这样的:

    1. var i

    2. 才是开始走for循环

    3. 才开始解析 let i = 0 --->报错
      再看图

    Antwort
    0
  • 滿天的星座

    滿天的星座2017-05-19 10:16:43

    // for是一个区块,内部又是一个小区块,你的代码可以简写为
    {
        let i = 0;  // i作用于这个大区块
        {
            var i = 'abc';  // 此处的i也作用于这个大区块
            console.log(i);
        }
    }
    
    {
        let i = 0; // i作用于这个大区块
        {
            let    i = 'abc'; // i作用于这个小区块
            console.log(i);
        }
    }
    
    // 如果你这么写是可以的
    for (var i = 0; i < 3; i++) {
        let i = 'abc';
        console.log(i);
    }
    // 简写
    {
        var i = 0; // i作用于这个大区块
        {
            let    i = 'abc'; // i作用于这个小区块
            console.log(i);
        }
    }

    Antwort
    0
  • StornierenAntwort