一: 变量提升与否
1:var:
console.log(a); // undefined var a = 'abc'; // 这段代码实际执行顺序是: var a; //变量声明提升至当前作用域顶部 console.log(a); a = 'abc';
2:let:
console.log(a); // 报错: a is not defined let a = 'abc'; // 这里, 用let声明变量, 变量声明不会提升, 完全按照文档流的执行顺序走
二:作用域问题
var:
for (var i = 0; i<10; i++) { // code.. } console.log(i); // 输出 10
2.let:
for (let i = 0; i<10; i++) { // code.. } console.log(i); // 报错: i is not defined // let 作用于 代码块 {}
以上就是对js中 let 与 var 的区别是什么的全部介绍