认识ES6中的let和const

  1. let和var的区别
function test(){
 for (let i=1;i<3;i++) {//使用let涉及块级作用域,以大括号{}内的为一个块
    console.log(i);
 }
  console.log(i);//使用let定义变量会报错,在块之外引用为声明的变量
}

test();

运行结果:
使用let定义变量运行的结果

function test(){
 for (var i=1;i<3;i++) {
    console.log(i);
 }
  console.log(i);
}

test();

使用var定义变量的运行结果

2.使用let定义时,不能重复定义一个变量

function test(){
 let a=1;
 let a=2;//使用let定义时,不能重复定义一个变量
}

test();

使用let定义时,不能重复定义一个变量
3.const的注意点(块级概念如同let)

function last(){
  const PI=3.1415926;
  // const PI;//const定义时候必须赋值
  // PI=5;//const定义的常量不能改变
  const k={
    a:1
  }
  console.log(PI,k);
  k.b=2;//对象可以增加属性,其指向的是内存栈中的指针,原本属性a指向的指针没变,新增的B属性指向另一个指针,对象可以变;常量则不行
  console.log(PI);
}

last();

在这里插入图片描述
总结:let和const都不可以重复定义一个变量,都具有块作用域,const定义的常量不能改变。这部分可以讲的地方不多,大家可以自行上机代码运行一下,掌握更深刻,想深入了解也可以多查查这方面的。

猜你喜欢

转载自blog.csdn.net/weixin_43931898/article/details/102765722