var和let区别

var和let

区别1:作用域不同

var 是函数作用域 let 是块级作用域

在块级作用域下:

for(var i=0;i<5;i++){
  console.log(i);
}
console.log("最后的i是"+i);//5

for(let i=0;i<5;i++){
console.log(i);
}
console.log("最后的i是"+i);//i is not defined

区别2:变量提升问题

var 存在变量提升 let 不存在变量提升

console.log(bar);//undefined
var bar="foo";
console.log(bar);// Cannot access 'bar' before initialization
let bar="foo";
posted @ 2021-03-26 21:15  两年半coder练习生  阅读(86)  评论(0)    收藏  举报