001 Let 命令

ES6新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。

1、let块级作用域

  {

  let  zifuchuan=10;

  var sxt =1;

  }

  zifuchuan//ReferenceError: zifuchuan is not defined.

  sxt//1

for循环的计数器,就很合适使用let命令

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

    //...

  }

  console.log(i);

  //ReferenceError:i is not defined

对比var和let在循环中的应用

  var a =[];

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

  a[i]=function(){

    console.log(i);

    };

  }

  a[6]();//6

上面代码输出的6

2、let不存在变量提升

  var命令会发生“变量提升”现象,即变量可以在声明之前使用,值为undefined。这种现象多多少少是有些奇怪的,按照一般的逻辑,变量应该在声明语句之后才可以使用

  为了纠正这种现象,let命令改变了语法行为,它所声明的变量一定要在声明后使用,否则报错。

  //var 的情况

  console.log(bar);//报错ReferenceError

  let bar =2;

3、let不允许重复声明

  let不允许在相同作用域内,重复声明同一个变量。

  //报错

  function func(){

    let a=10;

    var a=1;

  }

  //报错

  function func(){

  let a=10;

  let a=1;

  }

 

posted @   张筱菓  阅读(2)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示