废话不多说,上菜:
相同:都是用来声明变量的,且声明后的变量都可以改变;
区别:
- var声明的是函数作用范围,let声明的块级作用域
eg:
下面展示一些内联代码片
。
if (true) {
var name = 'mate'
console.log(name) // mate
}
console.log(name) // mate
if (true) {
let name = 'mate'
console.log(name) // mate
}
console.log(name) // Error
- var 声明的变量会在作用域内被提升,let声明的不会
console.log(name) // undefined
var name = 'mate'
console.log(name) // Error
let name = 'mate'