js

76 阅读1分钟

/* 1.var变量的提升,let不会 2.let不允许重复声明 3.let存在块级作用域,仅在声明的范围内起作用 4.let存在暂时性死区,优先找当前作用域

        const除了let的所有属性外,不允许修改
        const声明常量时必须同时赋值
    */
   
    // var a=1;  // var  没有块级作用域,没有变量提升
    // console.log(a);

    // var a;   // 变量提升
    // console.log(a);
    // a=1;

    // console.log(a);
    // let a=1;

    // var a=1;
    // var a=2;

    // let a=1;
    // let a=2;

    // {
    //     var a=1;
    // }

    // {
    //     let a=1;
    // }
    // console.log(a);

    // const a=1;
    // a=2;

    const a;
    a=1;

    // let a=0;  // 暂时性死区,优先找当前作用域
    // {
    //     console.log(a);
    //     let a=1;
    // }

    // var i=1;
    // for(var i=0;i<10;i++){

    // }

    // for(let i=0;i<10;i++){
        
    // }