var 和 let的区别

1.作用域不同  var是函数作用域,而let是块作用域

var a = [];
for (var i = 0; i < 10; i++) {
  a[i] = function () {
    console.log(i);
  };
}
a[6](); // 10
var a = [];
for (let i = 0; i < 10; i++) {
  a[i] = function () {
    console.log(i);
  };
}
a[6](); // 6

2.let不能在定义之前访问该变量,但是var是可以得,let必须是先定义,再使用。

3. let不能被重新定义,但是var是可以的。

posted @ 2021-12-10 10:54  许明月  阅读(485)  评论(0)    收藏  举报